c++读取txt矩阵数据放入vector
时间: 2023-10-12 22:20:30 浏览: 166
C++数据结构作业.zip
可以使用C++的文件输入输出流和vector容器来读取txt矩阵数据并存储到vector容器中,示例代码如下:
```c++
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream fin("matrix.txt"); // 打开文件
vector<vector<int>> matrix; // 定义二维vector容器
int rows = 0, cols = 0;
while (!fin.eof()) { // 读取文件直到文件末尾
string line;
getline(fin, line); // 读取一行数据
if (line.empty()) break; // 如果为空行则跳出循环
vector<int> row; // 定义一维vector容器
int num;
istringstream iss(line); // 使用istringstream将字符串转换为数字
while (iss >> num) {
row.push_back(num); // 存储每一行的数据到一维vector容器中
}
matrix.push_back(row); // 存储每一行的数据到二维vector容器中
rows++; // 统计行数
if (cols == 0) cols = row.size(); // 统计列数
}
fin.close(); // 关闭文件
// 输出矩阵数据
cout << "matrix:" << endl;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在该示例代码中,我们首先使用文件输入输出流打开txt文件,然后定义一个二维vector容器来存储矩阵数据,接着使用while循环读取文件中的每一行数据,并将每一行的数据存储到一个一维vector容器中,最后将每一行的数据存储到二维vector容器中。在读取数据的过程中,使用istringstream来将字符串转换为数字,并统计矩阵的行数和列数。最后输出读取到的矩阵数据。
阅读全文