- 2
- 0
- 约1.6万字
- 约 78页
- 2017-11-12 发布于广东
- 举报
9.3.4 格式读写函数 (1)格式化读函数fscanf( ) 函数fscanf( )的功能是从指定的文件中按照一定的格式读取数据到程序中,fscanf函数与前面使用的scanf函数的功能相似,两者的不同在于fscanf函数读取对象不是键盘,而是磁盘文件。函数调用的一般形式: fscanf(文件指针,格式字符串,输入表列); 其中,格式字符串和输入表列和scanf( )函数相似。 说明:函数的返回值若为EOF,表明格式化读错误;否则读数据成功。 9.3 文件的读写 (2)格式化写函数fprintf( ) 函数fprintf( )的功能是把格式化的数据写到指定文件中,其中,格式化的规定与printf( )函数相同,所不同的只是fprintf( )函数是向文件中写入,而printf( )是向屏幕输出。函数调用的一般形式: fprintf(文件指针,格式控制字符串,输出项列表); 其中,格式控制字符串和输出项列表和printf( )函数相似。 说明:函数的返回值为实际写入文件中的字符个数(字节数);若写错误,则返回一个负数。 9.3 文件的读写 9.3.4 格式读写函数 例9-3 随机产生20个[10,99]之间的整数,以每行5个数据输出到文本文件c:\data.txt中,要求每个数据占5个宽度,并且数据之间用逗号分隔。然后将其读出按升序排序后,按同样格式追加写原文件在后,与原数据之间空出2行。 编程分析:采用模块化程序设计。将产生数据、将数据输出到文件、从文件中读取数据,排序和追加数据到文件分别写成GetData( )、PutDataToFile( )、GetDataFormFile( )和sort( )、AppendDataToFile( )函数。 9.3 文件的读写 #include stdio.h #include stdlib.h /*初始化随机种子数randomize()原型声明stdlib.h中*/ void GetData(int a[],int n); /*产生数据函数的原型声明*/ void PutDataToFile(int a[],int n); /*输出数据函数的原型声明*/ void GetDataFormFile(int a[],int n); /*将数据输入到文件函数的原型声明*/ void sort(int a[],int n); void AppendDataToFile(int a[],int n); /*追加数据到文件函数的原型声明*/ void OpenFile(char *file,char *pr); FILE *fp; 9.3 文件的读写 void main() { int a[20],i; GetData(a,20); PutDataToFile(a,20); /*调用scandata()函数将数据读入到数组a中*/ GetDataFormFile(a,20); sort(a,20); /*调用sort()函数将数组a的数据排序*/ AppendDataToFile(a,20); /*调用AppedDataToFile ()函数将排序后的数组a的数据写入到文件中*/ } void GetData(int a[],int n) { int i; randomize(); /* 初始化随机种子数 */ for(i=0;in;i++) a[i]=(rand()%90)+10; /* 产生[10,99]的随机整数 */ } 9.3 文件的读写 void PutDataToFile(int a[],int n) { int i; OpenFile(c:\\data.txt,w); for(i=0;in;i++) { if(i%5==0) fprintf(fp,%5d,a[i]); /* 每1行的第1个数据前不用分号 */ else fprintf(fp,,%5d,a[i]); if((i+1)%5==0) fprintf(fp,\n); } fclose(fp); } 9.3 文件的读写 void GetDataFormFile(int a[],int n) /* 从文件读数据函数 */ { int i; OpenFile(c:\\data.txt,r); /* 打开文件失败 */ for(i=0;in;i++) { if(i%5==0) fscanf(fp,%5d,a[i]);
您可能关注的文档
- 人工智能及专家系统课件作者敖志刚第13章节基于Prolog程序实现的专家系统开发实例.ppt
- 人工智能原理及应用课件作者罗兵第2章节知识的表示.ppt
- AutoCAD绘图基础实训教程课件作者何文平第三章节精确绘图方法.ppt
- 人工智能原理及应用课件作者罗兵第3章节确定性推理方法.ppt
- AutoCAD绘图基础实训教程课件作者何文平第十一章节图形输出与综合应用.ppt
- 人工智能原理及应用课件作者罗兵第6章节机器学习.ppt
- AutoCAD绘图基础实训教程课件作者何文平第四章节二维图形编.ppt
- 人机界面设计(第二版)课件作者王文周苏涂嘉庆第03章节硬件人机界面设计.ppt
- 人机界面设计课件作者周苏第4讲软件人机界面设计.ppt
- 人机界面设计课件作者周苏第5讲网页界面设计与Visio工具.ppt
- 传感器技术及实训课件作者陈东群第3章节1章.PPT
- 传感器技术及实训课件作者陈东群第3章节2章.ppt
- C语言程序设计课件作者任文孔庆彦电子教案(第1章节--第6章节)第6章节.ppt
- C语言程序设计课件作者任文孔庆彦电子教案(第7章节--第12章节)第10章节.ppt
- C语言程序设计理实一体化教程课件作者杜恒第3章节顺序结构程序设计.ppt
- C语言程序设计理实一体化教程课件作者杜恒第5章节循环结构程序设计.ppt
- C语言程序设计理实一体化教程课件作者杜恒第6章节数组.ppt
- C语言程序设计理实一体化教程课件作者杜恒第8章节指针.ppt
- C语言程序设计理实一体化教程课件作者杜恒第10章节结构体和共用体.ppt
- 传感器技术及实训课件作者陈东群第7章节4章.ppt
原创力文档

文档评论(0)