part 10 1 1 0.25 3.7125 0.5125 9.4125 2 1 0.25 3.7375 0.5125 9.4125 3 1 0.25 3.7125 0.5375 9.4125 4 1 0.25 3.7375 0.5375 9.4125 5 1 0.25 3.6625 0.5125 9.4375 6 1 0.25 3.6875 0.5125 9.4375 7 1 0.25 3.7125 0.5125 9.4375 8 1 0.25 3.7375 0.5125 9.4375 9 1 0.25 3.6625 0.5375 9.4375 10 1 0.25 3.6875 0.5375 9.4375 endi这是一个文件的内容,创建一个类particle创建一个particle list(10)的数组对象,读取文件中的内容读到关键字part开始将10后面的数据分别读入属于particle类的数组,读到endi结束。最后再将数组中数据输出到一个文件上。c++代码
时间: 2024-01-02 12:04:08 浏览: 19
ieee 802.3 part1-2008 edition
以下是一个示例代码,可以实现你的需求:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Particle {
public:
int id;
int type;
double radius;
double x, y, z;
Particle(int id, int type, double radius, double x, double y, double z) {
this->id = id;
this->type = type;
this->radius = radius;
this->x = x;
this->y = y;
this->z = z;
}
};
int main() {
Particle particle_list[10];
ifstream infile("input.txt");
string line;
int index = 0;
while (getline(infile, line)) {
if (line == "part") {
for (int i = 0; i < 10; i++) {
getline(infile, line);
int id, type;
double radius, x, y, z;
sscanf(line.c_str(), "%d %d %lf %lf %lf %lf", &id, &type, &radius, &x, &y, &z);
particle_list[i] = Particle(id, type, radius, x, y, z);
}
break;
}
}
infile.close();
ofstream outfile("output.txt");
for (int i = 0; i < 10; i++) {
outfile << particle_list[i].id << " " << particle_list[i].type << " " << particle_list[i].radius << " "
<< particle_list[i].x << " " << particle_list[i].y << " " << particle_list[i].z << endl;
}
outfile.close();
return 0;
}
```
这个代码中,首先定义了一个`Particle`类,用于存储粒子的信息。然后创建了一个长度为10的`particle_list`数组,用于存储10个粒子。接下来打开输入文件`input.txt`,逐行读取文件内容,如果读到了`part`关键字,则开始读取10行数据,并将每行数据分别存储到`particle_list`数组中的一个元素中。最后,关闭输入文件,打开输出文件`output.txt`,将`particle_list`数组中的数据输出到文件中,并关闭输出文件。
阅读全文