我有一个txt文件,我想读取其中某一行之后的内容,这段内容的一部分是这样的 3093 0.002370 0.026990 0.127029 0.003463 0.023300 0.127387 0.003625 0.023328 0.127758 0.002506 0.026827 0.127687 0.003600 0.016872 0.128971 0.003785 0.017489 0.129542 -0.000238 0.024068 0.126833 我想将0.002370 0.026990 0.127029这一行之后的内容(包括这一行)依次存入数组xx[5000],yy[5000],zz[5000],请问用C++如何写代码呢
时间: 2024-02-29 11:51:58 浏览: 42
C++实现txt逐行读取存入
4星 · 用户满意度95%
您好,可以使用C++的文件流来读取txt文件中的内容,然后使用字符串流将读取的字符串转换为浮点数存入数组。
以下是示例代码:
```c++
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main() {
// 打开txt文件,假设文件名为example.txt
ifstream infile("example.txt");
string line;
// 查找包含"3093"的行,并读取该行之后的内容
while (getline(infile, line)) {
if (line.find("3093") != string::npos) {
stringstream ss(line);
float x, y, z;
ss >> x >> y >> z;
int i = 0;
float xx[5000], yy[5000], zz[5000];
// 将读取的内容存入数组
xx[i] = x;
yy[i] = y;
zz[i] = z;
while (!ss.eof() && i < 4999) {
ss >> x >> y >> z;
i++;
xx[i] = x;
yy[i] = y;
zz[i] = z;
}
// 打印数组中的内容
for (int j = 0; j <= i; j++) {
cout << xx[j] << " " << yy[j] << " " << zz[j] << endl;
}
break;
}
}
infile.close();
return 0;
}
```
请注意,此示例代码假设txt文件中只有一行包含"3093",如果有多行包含该字符串,则该代码仅读取第一行。如果需要读取所有包含该字符串的行,则需要做一些修改。
阅读全文