c++中如何将文件中的特定数据提取并重新赋值于数组?

比如这个程序,前面的代码太长,所以抱歉省略了,重点是这里:

ofstream fout("1.txt");
for(j=0;j<=i;j++)
{
fout<<"用户名:"<<name[j]<<"局数:"<<round[j]<<"正确次数:"<<countright[j]<<"得分:"<<score[j]<<"时间:"<<time[j]<<"\n";
}
然后请问如何将文件1.txt中代表用户名,局数,正确次数,得分,时间的字符串提取,并将他们分别重新赋值于数组name,round,countright,score,time?
跪求各位大神解答,因为我们这一块东西还没有学,我对数据文件的处理也是一知半解

第1个回答  2015-05-24

建议用下面语句创建1.txt文件:

ofstream fout("1.txt");           
for(j = 0;j <= i;j++)
    fout << <name[j] << " " << round[j] << " " << countright[j] << " " << score[j] << " " << etime[j] << "\n";

每个数据间用空格隔开。读出时,格式与“写”类似:

ifstream fin("1.txt");           
for(j = 0;j <= i;j++)
    fin >> name[j] >> round[j] >> countright[j] >> score[j] >> etime[j];

原来的空格作为分隔符,fin语句中不需要显式给出。

追问

那再请问一个很二的问题,如果是关闭程序,然后在下一次调试的时候把1.txt中的所有内容输出,也就是说这个时候i的值已经变回0了,这个时候应该怎么办呢?

追答

存到文件中的数据不会丢失,不会自动清零的。

追问

试了一下,后面那段的代码不对的,提示subscript requires array or pointer type

追答

这只是代码片段,以说明读取数据的方法,要想成功读入,至少需要定义足够大的数组......

相似回答