/* 格式化输入输出函数:
int fprintf(FILE*stream,char*format,<variable-list>)
int fscanf(FILE*stream,char*format,<address-list>)
fprintf函数的返回值为实际写入文件中的字符个数(字节数)。如果写错误则返回一个负数。fprintf函数中格式化的规定与printf函数相同,所不同的只是fprintf函数是向文件写入,
而printf函数是向屏幕输出。
fscanf函数的用法与scanf函数相似,只是它是从文件中读入信息。fscanf函数的返回值为EOF,表明读错误,否则读数据成功*/
//运行有bug???????
# include<stdio.h>
int main()
{
FILE*fp;
char ch[10];
float fdata;
int ia,ii;
system("cls");
//clrscr();
if((fp=fopen("awe1.txt","w+"))==NULL)
{
printf("Cannot open this file\n");
return 0;
}
for(ii=0;ii<3;ii++)
{
scanf(fp,"%s%f%d",ch,&fdata,&ia);
fprintf("%10s\t%10.4f\t%5d\n",ch,fdata,ia);
}
rewind(fp);
for(ii=0;ii<3;ii++)
{
fscanf(fp,"%s%f%d",ch,&fdata,&ia);
printf("%s\t%f\t%d\n",ch,fdata,ia);
}
if(fclose(fp))printf("File close error!\n");
}
/*函数可以对除字符外的其他类型数据进行读写,但在读写过程中出现了误差,这是因为fprintf函数是将内存中二进制数据转化成了ASCII码写入到文件中,
而fscanf函数将文件中的ASCII码转化成二进制数据,这一转化花费的时间较多。在文件频繁读写的情况下,最好不选用这两个函数,而改用直接输入输出函数*/
C语言格式化输入输出函数(有bug未解决)
最新推荐文章于 2023-10-11 10:16:07 发布