以下是一个示例代码,它使用C++11中的文件系统库()来获取文件夹中所有的txt文件路径,然后使用fstream库来读取文件内容并将其保存为float指针:

#include <iostream>
#include <fstream>
#include <filesystem>
#include <vector>

int main() {
    std::string folder_path = 'path/to/folder'; // 文件夹路径
    std::vector<float*> data; // 保存读取的float指针的容器
    
    // 遍历文件夹中的所有txt文件
    for (const auto& entry : std::filesystem::directory_iterator(folder_path)) {
        if (entry.path().extension() == '.txt') { // 如果是txt文件
            std::ifstream file(entry.path());
            if (file) {
                std::vector<float> float_data; // 保存读取的float数据的容器
                float value;
                while (file >> value) { // 逐个读取float数据
                    float_data.push_back(value);
                }
                float* ptr = new float[float_data.size()]; // 创建一个新的float数组
                std::copy(float_data.begin(), float_data.end(), ptr); // 将读取的数据复制到数组中
                data.push_back(ptr); // 将指向数组的指针保存到容器中
            }
        }
    }
    
    // 输出读取的数据
    for (const auto& ptr : data) {
        for (int i = 0; i < sizeof(ptr) / sizeof(float); i++) {
            std::cout << ptr[i] << ' '; 
        }
        std::cout << std::endl;
    }
    
    // 释放内存
    for (const auto& ptr : data) {
        delete[] ptr;
    }
    
    return 0;
}

上述代码使用了动态内存分配来保存读取的float数组,因此需要在使用完后手动释放内存。

C++11 读取文件夹下txt文件并保存为float指针

原文地址: http://www.cveoy.top/t/topic/mJEw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录