C++11 读取文件夹下txt文件信息并保存为float数组
以下是一个简单的示例代码,用于读取文件夹下的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循环。
原文地址: http://www.cveoy.top/t/topic/mJD6 著作权归作者所有。请勿转载和采集!