欢迎来到天天文库
浏览记录
ID:59391212
大小:118.00 KB
页数:31页
时间:2020-09-20
《中科大C语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章文件操作C语言程序设计-第10章文件操作2目录文件概述文件类型指针文件的打开和关闭文件的读写文件的定位C语言程序设计-第10章文件操作3文件(File)C语言中的文件C语言把文件看作一个字节的序列C语言对文件的存取是以字节为单位的文本文件(ASCII文件)按数据的ASCII形式存储二进制文件按数据在内存中的二进制形式存储C语言程序设计-第10章文件操作4文本文件和二进制文件C语言程序设计-第10章文件操作5缓冲文件系统C语言程序设计-第10章文件操作6文件类型指针FILE类型保存被使用的文件的有关信
2、息所有的文件操作都需要FILE类型的指针FILE是库文件中定义的结构体的别名注意不要写成structFILE举例FILE*fp;C语言程序设计-第10章文件操作7FILE类型typedefstruct{shortlevel;/*缓冲区满空程度*/unsignedflags;/*文件状态标志*/charfd;/*文件描述符*/unsignedcharhold;/*无缓冲则不读取字符*/shortbsize;/*缓冲区大小*/unsignedchar*buffer;/*数据缓冲区*/unsignedchar*c
3、urp;/*当前位置指针*/unsignedistemp;/*临时文件指示器*/shorttoken;/*用于有效性检查*/}FILE;C语言程序设计-第10章文件操作8文件的打开(fopen函数)函数原型FILE*fopen(char*filename,char*mode);参数说明filename:要打开的文件路径mode:打开模式返回值若成功,返回指向被打开文件的指针若出错,返回空指针NULL(0)C语言程序设计-第10章文件操作9文件的打开模式打开模式描述r只读,打开已有文件,不能写w只写,创建或打
4、开,覆盖已有文件a追加,创建或打开,在已有文件末尾追加r+读写,打开已有文件w+读写,创建或打开,覆盖已有文件a+读写,创建或打开,在已有文件末尾追加t按文本方式打开(缺省)b按二进制方式打开C语言程序设计-第10章文件操作10文件的打开举例FILE*fp1,*fp2,*fp3;charfilename[]="file3.dat";/*以文本只读方式打开file1*/if(!(fp1=fopen("file1","r"))){printf("CannotOpenThisFile!");exit(0);/
5、*退出程序*/}/*以二进制读写方式打开FILE2.TXT*/fp2=fopen("C:\HOME\FILE2.TXT","rb+");/*以二进制读写方式打开file3.dat*/fp3=fopen(filename,"a+b");C语言程序设计-第10章文件操作11文件的关闭(fclose函数)函数原型intfclose(FILE*fp);参数说明fp:要关闭的文件指针返回值若成功,返回0若出错,返回EOF(-1)不用的文件应关闭,防止数据破坏丢失C语言程序设计-第10章文件操作12文件的关闭举例F
6、ILE*fp;charfile[]="D:\USER\STUDENTS.DAT";if(!(fp=fopen(file,"rb+"))){printf("Openfile%serror!",file);exit(0);}......fclose(fp);C语言程序设计-第10章文件操作13文件的读写函数功能函数功能fputc输出字符fprintf格式化输出fgetc输入字符fscanf格式化输入putc输出字符putw输出一个字getc输入字符getw输入一个字fwrite输出数据块fputs输出字
7、符串fread输入数据块fgets输入字符串C语言程序设计-第10章文件操作14feof函数函数原型intfeof(FILE*fp);参数fp:文件指针返回值若文件结束,返回非零值若文件尚未结束,返回0C语言程序设计-第10章文件操作15fputc/putc函数函数原型intfputc(intc,FILE*fp);intputc(intc,FILE*fp);参数c:要输出到文件的字符fp:文件指针返回值若成功,返回输出的字符若失败,返回EOFC语言程序设计-第10章文件操作16fgetc/getc函数函数原
8、型intfgetc(FILE*fp);intgetc(FILE*fp);参数fp:文件指针返回值若成功,返回输入的字符若失败或文件结束,返回EOFC语言程序设计-第10章文件操作17fputc和fgetc函数举例FILE*fp1,*fp2;charc;fp1=fopen("file.in","r");fp2=fopen("file.out","w");while(!feof(fp1)){c=fgetc(fp1);
此文档下载收益归作者所有