文件 中的内容是字符串,还是整数,实际是用户自己确定的。当编写一个程序读 一个文件时,必须知道文件 的结构,才能正确的解析文件的内容,如果不知道文件解构,读出来的只能是一堆没有用的垃圾数据。
比如,一个文件文件只有一行数据:
92 88
是什么意思?可能是代表了两门课成绩的整数;也有可能是某个学生学号及平均成绩;至于是什么,以数字还是字符串存储,就只能用户定了。
比如文件中存放了N行数据,每行为一个学生的姓名 及学生的成绩;N<100;姓名最多四字;则可以用以下方法进行读取:
#include
int main()
{
char students[100][9]; //存姓名
int score[100]; //存成绩
int n ; //记录读出多少人
int i;
FILE* fp = fopen("data.txt","r");//文件
if( fp == 0 )
{
printf("文件打开失败。");
return 0;
}
n = 0;
while( !feof(fp))
{
fscanf( fp,"%s %d",students[n],&score[n]);
n++;
}
fclose(fp);
printf("共读出%d条记录:\n",n);
for( i = 0;i< n;i++)
printf("第%d条 姓名:%s 成绩%d\n",students[i],&score[i]);
getchar();
return 1;
}
这个需要定义两个数组 一个是int型 一个是char型