匿名用户
1级
2014-03-05 回答
在读取数据前,最好知道数据的存放格式,举例来说:
c:\a.txt的内容是
00001 张小明 53 80.5 88.5
00002 李岳 90.5 89 67.5
...
即每行一个记录,分别存放:编号、姓名、成绩1、成绩2、成绩3
编号是整型的数据,姓名是字符串,成绩都是浮点数,各个数据之间以空格分割
#include
void main()
{ FILE *fp;
int number[100],n,i;
char name[100][10],buffer[256];
float score[100][3];
if ( fp=fopen("c:\\a.txt","r") )
{ for ( i=0,n=0;i<100;i++ )
{ fgets(buffer,256,fp);
sscanf(buffer,"%d %s %f %f %f",&number[i],name[i],&score[i][0],&score[i][1],&score[i][2]);
n++;
if ( feof(fp) ) break;
}
fclose(fp);
}
if ( n>0 )
for ( i=0;i
printf("%05d %10s %5.1f %5.1f %5.1f\n",number[i],name[i],score[i][0],score[i][1],score[i][2]);
}
追问:
给一个最简单的。谢谢,刚刚从vb转c。谢谢!
追答:
那要看你的文件中数据是怎么存的了。
这个程序已经是比较简单的了。
把你的文件存储举出例子来看。
追问:
#include
int main()
{
FILE *fp;
fp = fopen("C:\\a.txt", "w"); // 以“写入”方式打开文件 C:\a.txt。
fprintf(fp, "Hello World!"); // 向 fp 写入内容,fprintf 除了多个文件指针,其他
// 余 printf 一样。
fclose(fp); // 关闭文件,保存内容。
}