以下是一个简单的示例代码,用于读取文件夹下的txt文件信息并将其保存为float数组:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <dirent.h>

int main()
{
    // 定义要读取的文件夹路径
    std::string folder_path = "/path/to/folder/";

    // 打开文件夹
    DIR* dir;
    struct dirent* ent;
    if ((dir = opendir(folder_path.c_str())) != nullptr) {
        // 逐个读取文件
        std::vector<float> data;
        while ((ent = readdir(dir)) != nullptr) {
            std::string filename = ent->d_name;
            // 只处理txt文件
            if (filename.size() > 4 && filename.substr(filename.size() - 4) == ".txt") {
                // 打开文件
                std::ifstream infile(folder_path + filename);
                if (infile.is_open()) {
                    // 读取文件内容并保存到数组
                    float x;
                    while (infile >> x) {
                        data.push_back(x);
                    }
                    infile.close();
                }
            }
        }
        closedir(dir);

        // 输出数组内容
        for (float x : data) {
            std::cout << x << " ";
        }
        std::cout << std::endl;
    } else {
        // 打开文件夹失败
        std::cout << "Failed to open folder." << std::endl;
    }

    return 0;
}

注:该示例代码使用了C++11的range-based for循环。如果您使用的是较早的C++版本,可以将其替换为传统的for循环。

C++11 读取文件夹下txt文件信息并保存为float数组

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

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