C++中,用ifstream cin来读取txt文件中的学生信息,赋值给一个----学生的类----的一个对象

还要用ofstream cout来输出到另一个文件中

ifstream inFIle; //定义文件输入流对象
inFIle.open(Filename); //Filename是字符串类型,打开文件
接着你就可以将inFIle类似cin使用,
比如 cin>>a;//char a;
是从标准输入流(键盘)中读取一个字符
inFile>>a;
类似是从你所指定的txt文件中读取一个字符。
置于给类对象赋值,可以读取到临时变量中,然后通过类的成员函数将值传递进去。追问

我照你说的做了,但是inFile>>a;
并没有从文件中读取,而是让我用键盘输入

追答

肯定你有什么地方出问题了。
我给出以前我做过一道练习题吧。
#include
#include
#include
using namespace std;

int main()
{
ifstream inFile;
ofstream outFile;
inFile.open("inData.txt");
outFile.open("outData.dat");
int a,b,d,e;
char c;
inFile>>a>>b>>c>>d>>e;
outFile(c);
++a;
outFile(a)<<endl;
outFile<<"The product of "<<d<<" and "<<e<<" = "<<d*e<<endl;
inFile.close();
outFile.close();
return 0;
}

inData.txt中包含
56 38
A
7 8
你编译运行一下,可以理解一下。
定义文件输出流
ofstream outFile;
outFile.open(Filename2); 将输出流与文件guanlian
接着可以像cout一样使用outFIle,只不过outFIle是输出到文件中,而不像cout输出到屏幕上。

追问

int main()
{ ifstream in ;
int i=1;
while(i!=0)
{int id;
string xm;
int nl;
Person *student=new Person;
in.open("a.txt") ;
in>>id>>xm>>nl;
student-> setinfo( id, xm, nl);
student->show();
delete student;
in>>i;
}
return 0;
}
这是我的主函数的代码,运行时是不停的一行一行的刷随机数,
你能帮我看看是怎么回事吗?谢谢啊。。
我觉得你人真好!!!

参考资料:C++ Primer

温馨提示:答案为网友推荐,仅供参考
相似回答