//给定程序,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myflie3.txt的文本文件中,然后再顺序读出显示在屏幕上。
//重难点:fprintf()函数和fscanf()函数的使用。!feof(fp)用来判断文件没有到达末尾。fscanf(fp,"%d%f",&n,&x);把文件中的数据按一定格式赋值给指定变量。
1 #include <math.h> 2 #include <stdio.h> 3 int fun(char *fname ) 4 { FILE *fp; int i,n; float x; 5 if((fp=fopen(fname, "w"))==NULL) return 0;//如果没有这个文件就新创建一个。 6 for(i=1;i<=10;i++) 7 /**********found**********/ 8 fprintf(fp,"%d %f ",i,sqrt((double)i));//对一个整数开方,结果就为浮点数。把处理过后的数字,输入到文件中。 9 printf(" Succeed!! "); 10 /**********found**********/ 11 fclose(fp);//观察前后可发现,这里为关闭文件指针。 12 printf(" The data in file : "); 13 /**********found**********/ 14 if((fp=fopen(fname,"r"))==NULL) 15 return 0; 16 fscanf(fp,"%d%f",&n,&x);//从文件中读取数据,然后赋值给n和x。 17 while(!feof(fp))//判断文件有没有到达末尾,以这个格式会按行输出。 18 { printf("%d %f ",n,x); fscanf(fp,"%d%f",&n,&x); } 19 fclose(fp); 20 return 1; 21 } 22 main() 23 { char fname[]="myfile3.txt"; 24 fun(fname);//以地址方式传递 25 }