//读取一个文件的内容并输出
//源代码:
#include <stdio.h>
#include <stdlib.h>
#define MAX 5
struct data{
char num[20];
char first[20];
char last[20];
double equal;
double playtimes;
double hit;
};
int main(void)
{
FILE*fp1,*fp2;
int i,index;
double count;
fp1=fopen("data.txt","a+");
rewind(fp1);
if(fp1==NULL)
{
printf("Open data.txt File Failure.\n");
exit(1);
}
struct data person[MAX];
for(index=0;index<1;index++)
{
if(fscanf(fp1,"%s:%s%s equal: %lf",person[index].num,person[index].first,person[index].last,person[index].equal)==EOF)
{
printf("END FILE.");
exit(0);
}
}
for(i=0;i<1;i++)
{
person[i].first[0]=toupper(person[i].first[0]);
person[i].last[0]=toupper(person[i].last[0]);
printf("The num and name:\n%s:%s%s equal:%f.\n",person[i].num,person[i].first,person[i].last,person[i].equal);
}
return 0;
}
最后的double类型变量读入错误,不知道为什么?
输入语句fscanf()因为排版问题中间有很多空格,实际上是紧连接在一起的。输出语句equal和
%s之间有一个空格。