但我只能使用C++进行代码的编译,如果读取的txt文件中每一行都是像这样的内容0.094118 0.403922 0.219608 1.0,而我想将每一个数字分开存储在不同的数组里,应该如何修改上述代码呢?
时间: 2024-02-25 12:57:58 浏览: 13
你可以使用C++的字符串流stringstream来实现将每一行的数字分开存储在不同的数组中。以下是示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
using namespace std;
int main() {
ifstream file("filename.txt");
string line;
vector<vector<float>> num_arrays(4);
while (getline(file, line)) {
stringstream ss(line);
float num;
int i = 0;
while (ss >> num) {
num_arrays[i].push_back(num);
i++;
}
}
// 打印每个数组中的数字
for (int i = 0; i < num_arrays.size(); i++) {
cout << "Array " << i << ": ";
for (int j = 0; j < num_arrays[i].size(); j++) {
cout << num_arrays[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在这个代码中,我们首先打开txt文件并逐行读取文件内容。然后,我们创建了4个空的vector,用于存储每个数字。接下来,我们遍历每一行,使用stringstream将每行数字分割成子字符串。然后,我们遍历每个子字符串,将其转换为float类型并添加到对应的vector中。最终,我们得到了4个vector,分别存储了每个数字。