资源描述:
《流式文件操作常用函数详细说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、流式文件操作常用函数说明目录一、常用函数列表2二、函数详细介绍21.fopen()22.fclose()33.fputc()34.fgetc()35.fseek()46.fputs()47.fgets()48.fprintf()49.fscanf()510.feof()511.ferror()512.rewind()513.remove()514.fread()515.fwrite()616.tmpfile()617.tmpnam();6流式文件操作常用函数说明一、常用函数列表 FILE这个结构包含了文件操作的基
2、本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数见下表函数功能fopen()打开流fclose()关闭流fputc()写一个字符到流中fgetc()从流中读一个字符fseek()在流中定位到指定的字符fputs()写字符串到流fgets()从流中读一行或指定个字符fprintf()按格式输出到流fscanf()从流中按格式读取feof()到达文件尾时返回真值ferror()发生错误时返回其值rewind()复位文件定位器到文件开始处remove()删除文件fread()从流中读指定个数的字符
3、fwrite()向流中写指定个数的字符tmpfile()生成一个临时文件流tmpnam()生成一个唯一的文件名二、函数详细介绍1.fopen()fopen的原型是:FILE*fopen(constchar*filename,constchar*mode),fopen实现三个功能:为使用而打开一个流把一个文件和此流相连接给此流返回一个FILR指针参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下:"r"以只读方式打开文件"w"以只写方式打开文件"a"以追加方式打开文件"r+"以读/写方式
4、打开文件,如无文件出错"w+"以读/写方式打开文件,如无文件生成新文件 一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模式中回车被当成一个字符'''',而二进制模式认为它是两个字符0x0D,0x0A;如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。 系统默认的是以文本模式打开,可以修改全部变量_fmode的值来修改这个设置,例如_fmode=O_TEXT;就设置默认打开方式为文本模式;而_fmode=O_
5、BINARY;则设置默认打开方式是二进制模式。 我们也可以在模式字符串中指定打开的模式,如"rb"表示以二进制模式打开只读文件,"w+t"或"wt+"表示以文本模式打开读/写文件。 此函数返回一个FILE指针,所以申明一个FILE指针后不用初始化,而是用fopen()来返回一个指针并与一个特定的文件相连,如果成败,返回NULL。例: FILE*fp; if(fp=fopen("123.456","wb")) puts("打开文件成功"); else puts("打开文件成败");2.fclos
6、e() fclose()的功能就是关闭用fopen()打开的文件,其原型是:intfclose(FILE*fp);如果成功,返回0,失败返回EOF。 在程序结束时一定要记得关闭打开的文件,不然可能会造成数据丢失的情况例:fclose(fp);3.fputc() 向流写一个字符,原型是intfputc(intc,FILE*stream);成功返回这个字符,失败返回EOF。例:fputc(''X'',fp);4.fgetc() 从流中读一个字符,原型是intfputc(FILE*stream);成功返回这个字符
7、,失败返回EOF。例:charch1=fgetc(fp);5.fseek() 此函数一般用于二进制模式打开的文件中,功能是定位到流中指定的位置,原型是intfseek(FILE*stream,longoffset,intwhence);如果成功返回0,参数offset是移动的字符数,whence是移动的基准,取值是:符号常量值基准位置SEEK_SET0文件开头SEEK_CUR1当前读写的位置SEEK_END2文件尾部例:fseek(fp,1234L,SEEK_CUR);//把读写位置从当前位置向后移动1234字节
8、(L后缀表示长整数) fseek(fp,0L,2);//把读写位置移动到文件尾6.fputs() 写一个字符串到流中,原型intfputs(constchar*s,FILE*stream);例:fputs("ILoveYou",fp);7.fgets() 从流中读一行或指定个字符,原型是char*fgets(char*s,intn,FILE*strea