vector<vector<double>> readFileData()
时间: 2023-10-22 12:01:43 浏览: 161
要读取数据文件并将其存储在一个二维向量(vector<vector<double>>)中,你可以使用C++的文件输入流(ifstream)来实现。以下是一个示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
std::vector<std::vector<double>> readFileData(const std::string& filename) {
std::ifstream inputFile(filename); // 打开数据文件
std::vector<std::vector<double>> data; // 存储数据的二维向量
if (inputFile.is_open()) {
double value;
std::vector<double> row;
while (inputFile >> value) {
row.push_back(value); // 将数据添加到当前行向量中
if (row.size() == 7) {
data.push_back(row); // 将当前行向量添加到数据向量中
row.clear(); // 清空当前行向量
}
}
inputFile.close(); // 关闭文件
} else {
std::cout << "无法打开文件!" << std::endl;
}
return data;
}
```
在上述代码中,`readFileData`函数接受一个文件名作为参数,并返回一个二维向量,其中包含从文件中读取的数据。每行数据被存储为一个内部向量,然后将其添加到外部向量中。请确保文件中的数据按照每行7个数的格式排列。
你可以调用该函数来读取数据文件并获取存储的数据,例如:
```cpp
std::vector<std::vector<double>> data = readFileData("data.txt");
// 打印读取的数据
for (const auto& row : data) {
for (const auto& value : row) {
std::cout << value << " ";
}
std::cout << std::endl;
}
```
请注意,上述代码中的`data.txt`是文件名,你需要根据实际情况修改为你要读取的数据文件的名称。
阅读全文