我是c ++的新手,我尝试编写一个读取文本文件整数的代码,并逐行将每个整数保存在不同的变量中。 我遇到语法问题以及如何安排代码。基本上,文本文件每行包含4个整数,这些值将被读取到类行星的坐标和id,如下所示。我知道代码beloe是不完整的,但这是我第一次用c ++编程并需要帮助。请你不需要用行星或任何东西解释这个。我只需要一般性的了解
#include <iostream>
#include <fstream>
using namespace std;
class planet{
public :
float x_coordinates;
float y_coordinates;
float z_coordinates;
int id;
};
planet*generate_planet(istream &fin)
{
planet *x= new planet;
fin >> x->id >> x->x_coordinates >> x->y_coordinates >> x->z_coordinates;
return (x);
}
void report_planet( planet &p)
{
cout<<"planet "<<p.id<<" has coordinates (" << p.x_coordinates<<","<< p.y_coordinates<<","<< p.z_coordinates<<")"<<endl;
}
int main()
{
planet p;
planet *x;
ifstream fin("route.txt");
generate_planet(fin);
report_planet(*x);
return 0;
}
答案 0 :(得分:3)
您的代码中存在一些错误。
请注意,在此行中:
fin>>x->id>>x->x_coordinates>>x->y_coordinates>>x->y_coordinates;
您向x->y_coordinate
而不是x->z_coordinate
写了两次。
此外,您的void report_planet(planet &p)
函数会收到planet &
作为参数,但您将其fin
传递给时间ofstream
另一件事是你试图读取文件,而不是写入文件,因此使用ofstream
是错误的,你应该使用ifstream
。
你的代码甚至可以编译吗?
祝你好运。