- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C9_文件
第12章 文件 计算机与信息技术学院 信息科学研究所 赵帅锋 shfzhao@bjtu.edu.cn Homeworks P258. 5,6,7 文件与目录 写程序 根本目的:就是在处理数据。 一般,数据以文件的方式,保存在计算机的硬件上; 需要:对文件执行操作: 打开文件; 读文件; 写文件; 关闭文件; 怎么做? 通过库函数 文件的学习,就是学习库函数。 基本流程: 打开/读写/关闭。 一切皆是文件! printf( ); 打印内容到screen. screen也是一个文件:标准输出设备文件; scanf( ); 从键盘输入; Keyboard也是一个文件:标准输入设备文件 2st. 结构与文件 Thanks Any question? 文件的另一套操作方法_Unix 可以使用Unix的方法: open/close/( create ) read/write eof errno 结构+文件 输入学生的信息,并保存在文件中。 #include stdio.h #include string.h typedef struct tag_StudentInfo { char acStdId[10]; char szName[21]; char cSex; unsigned char ucAge; }StudentInfo; int main( int argc, char *argv[] ) { int i, n; StudentInfo std; FILE *fp; char szFileName[81]; if( argc == 3) { n = atoi( argv[1] ); strcpy( szFileName, argv[2] ); } 结构+文件 else { printf(“\nplease input the number of students” ); scanf(“%d”, n ); printf( “\nplease input the filename stored the students info”); scanf(“%s”, szFileName ); } fp = fopen( szFileName, “w”); if( !fp ) { printf(“\nfile open error!”); return -1; } 结构+文件 /*开始输入学生信息*/ for( i = 0; i n; i++) { printf(“\npls input student id(10 digital,max): ” ); scanf( “%s”, std. acStdId); printf(“\npls input student name: ” ); scanf( “%s”, std.szName ); printf(“\npls input student sex(M or F): ” ); std.cSex = getchar( ); printf(“\npls input student age: ” ); scanf(“%d”, std.ucAge ); fprintf( fp, “\n%s %s %c %d”, std.acStdId, std.szName, std.cSex, std.ucAge); } fclose( fp ); } shfzhao@bjtu.edu.cn 普通文本文件:直接用notepad看 ppt文件,二进制文件,一般需要专门的软件 文件概述 文件:保存在外部介质上被命名了的数据的集合 。 存放在磁盘上,可以独立使用。 两种:文本文件:存放ASC码,可以打印,可以”看到”。 二进制文件:流文件 例:保存一个整数:12345: 文本文件: 0x31 0x32 0x33 0x34 0x35 5个字节, 12345 12345 = 0x3039 二进制文件: 2个字节. 文件操作方法 文件操作的流程: 打开文件 fopen/open; 读/写文件 fscanf/fread/fgets/fgetc/fgetw/read fprintf/fwrite/fputs/fputc/fputw/write 关闭文件 fclose/close; 文件定位和判断: feof/rewi
文档评论(0)