资源描述:
《C语言基础自学总结之十:文件操作.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言基础自学总结之十:文件操作要点:1.文件操作,就是通过程序,操作文件2.两个方面:读,写一.fopen打开文件函数原型:FILE*fopen(char*filename,char*type);intfclose(FILE*fp);头文件:#include是否是标准函数:是函数功能:函数fopen:打开一个流,即:打开一个文件。该函数有两个参数,filename是需要打开文件的文件名,type是打开文件的方式。函数fclose:关闭一个流,即:关闭一个文件,并释放文件缓冲区。
2、fclose函数与fopen函数是相对的两个函数。fclose函数的参数是指向文件的指针,应用该函数用以在程序结束之前关闭文件,并释放文件缓冲区。这样可以保证文件的数据不流失。返回值:fopen:FILE类型,如果打开的文件存在,返回指向该文件的指针;如果打开的文件不存在,则在指定的目录下建立该文件打开,并返回指向该文件的指针。fclose:整型,有错返回非0,否则返回0。例子1:#includeintmain(void){FILE*FP=fopen("文件","打开方式");/
3、/返回值是file是一个结构体,是一个结构体的宏。fclose(FP);//打开之后,用完了,就要关闭文件,fclose是跟fopen一起使用的一个函数。return0;}二.frend读取fread:从流中读取字符串函数函数原型:intfread(void*buf,intsize,intcount,FILE*fp);头文件:#include是否是标准函数:是函数功能:从fp指向的文件中读取长度为size的count个数据项,并将它输入到以buf为首地址的缓冲区中。此时,文件指针
4、fp会自动增加实际读入数据的字节数,即fp指向最后读入字符的下一个字符位置。返回值:返回实际读入数据项的个数,即count值。若遇到错误或文件结束返回0。例子1:#includeintmain(void){FILE*FP=fopen("文件","方式”);if(!FP){perror("fopen");exit(-1);//当没打开的时候就终止}charbuf[64]={};//首先需要一个空间fread(buf,)//fread就是把文件中的内容读到一个空间,第一个参数是要存放
5、的一个任意类型的空间,第二个参数是一次读取的单位信息长度是多少,第三个参数是要读取这种长度的信息一共有多少个,第四个参数是读取那个文件。fclose(FP);return0;}三.fwrite写fwrite:向文件写入数据函数函数原型:intfwrite(void*buf,intsize,intcount,FILE*fp);头文件:#include是否是标准函数:是函数功能:将buf所指向的count*size个字节的数据输出到文件指针fp所指向的文件中去。该函数与fread相对
6、,输出数据后,文件指针fp自动指向输出的最后一个字符的下一个位置。该函数常用于分批将数据块输出到文件中。返回值:返回实际写入文件数据项个数。#include#include#includeintmain(void){FILE*fp=fopen("./file","w");//w意思是打开时如果没有这个文件,就会创建这个文件。如果已经存在会将它清空,if(!fp){perror("fopen");exit(-1);}//打不开时,报错,终止程
7、序。fwrite("hello",1,strlen("hello"),fp);//第一个参数写之前,必须有一个内存空间的地址,void*表示人一个空间的首字节的地址,第二个参数是,写入的单位信息占多少个字节(长度),第三个参数,一共要写多少个这样的单位信息。第四个参数是,写到哪个文件中去。//strlen:计算字符串长度函数函数原型:intstrlrn(char*str);头文件:#include是否是标准函数:是函数功能:求字符串的长度,也就是求字符串str中有多少个
8、字符返回值:字符串str字符的个数fclose(fp);return0;}四.文件拷贝例子1:#include#includeintmain(void)//{charbuf[20];FILE*fp=fopen("./file","r");if(!fp){perror("fopen");exit(-1);}FILE*fp2=fopen("./file2","w'");if(!fp2){perror("fopen_2");}while(1){siz