C语言库函数(文件操作).ppt
文本预览下载声明
第六章 C语言库函数 6.1文件操作库函数 6.2 内存管理库函数 6.3图形处理库函数 6.4操作系统库函数 6.1.1文件系统概述2、数据文件的存储形式 (1)字符文件(纯文本文件):每个字符用一个ASCII码存储(即一个字符占一个字节)。 (2)二进制文件:以数据在内存中的形式原样存于磁盘。 如:一个任意整数(int型),其二进制存储方式都是占2个字节(16位);而字符存储方式所占字节数=该数的数字个数。如: int型数 二进制存储方式 字符存储方式 123 2字节 3字节 1234 2字节 4字节 6.1.2 标准文件操作--文件的读写举例 例12.1 从键盘输入一些字符存到一个磁盘文件中,以“#”(不包括“#”)结束,同时在键盘上显示这些字符。 #include”stdio.h” main() { FILE *fp; char ch,filename[10]; printf(“Enter the infile name:\n”); scanf(“%s”,filename); if ((fp=fopen(filename,”w”))==NULL) {printf(“cannot open infile\n”); exit(0); } 6.1.2 标准文件操作--文件的读写举例 ch=getchar(); while(ch!=‘#’) { fputc(ch,fp); putchar(ch); ch=getchar(); } flose(fp); } Enter the infile name: file1.c ↙ (输入待存磁盘文件名) Computer and C ↙ 输出:Computer and C 可用type命令验证。 6.1.2 标准文件操作--文件的读写举例 也可以利用mian函数的参数编一个类似dos命令copy的程序。 即: newcopy file1.c file2.c ↙ 来完成文件的复制。 #include“stdio.h” main(argc,argv) int argc; char *argv[ ]; { FILE *in,*out; if(argc!=3) {printf(“you forgot to enter a filename\n”); exit(0); } 6.1.2 标准文件操作--文件的读写举例 if ((in=fopen(argv[1], “r”))==NULL) {printf(“cannot open source file\n”); exit(0); } if ((out=fopen(argv[2], “ w”))==NULL) {printf(“cannot open destination file\n”); exit(0); } while(!feop(in)) fputc(fgetc(in),out); fclose(in); fclose(out); } * 6.1文件操作库函数 6.1.1文件系统 概述(理解) 6.1.2标准文件操作(重点) 6.1.3非标准文件操作(了解 ) 6.1.1文件系统概述 1、文件 文件是存储在外存储器上信息的集合。 每个文件有唯一的文件名(主名.后缀)来标识。计算机实现按名对文件进行读、写等有关操作。 广义上,操作系统将每一个与主机相联的输入输出设备也看作是一个文件,操作方法上与普通文件一样。 DOS下两个专用设备文件名: PRN:打印机(输出文件) CON:键盘(输入文件),显示器(输出文件)。 6.1.1文件系统概述 2、数据文件的存储形式 例如, 1268这个整数,在字符文件中用其ASCII码表示为: ‘1’ ‘2’ ‘6’ ‘8’ 49 50 54 56 即将数字表示成对应的字符序列。这里有4位数字,共用了4个字符;一个字符占一个字节,故共用了4个字节。而在二进制文件中,该数表示成相应的二进制数字: 010011110100 它只需要占用2个字节。 6.1.1文件系统概述 3.标准文件系统(缓冲文件系统)非标准文件系统 程序数据区 输出文件缓冲区 输出
显示全部