C语言文件操作函数概要(stdio.h)

C语言文件操作函数概要(stdio.h)

fopen 打开一个文件 
fclose 关闭一个文件 
fgetc 从文件中读取一个字符 
fputc 写一个字符到文件中去 fgets 从文件中读取一个字符串 
fputs 写一个字符串到文件中去 
fprintf 往文件中写格式化数据 
fscanf 格式化读取文件中数据 
fread 以二进制形式读取文件中的数据 
fwrite 以二进制形式写数据到文件中去 
getw 以二进制形式读取一个整数 
putw 以二进制形式存贮一个整数 
feof 文件结束 
ferror 文件读/写出错 
clearerr 清除文件错误标志 
ftell 了解文件指针的当前位置 
rewind 文件定位函数
fseek 随机定位
“r”.为读而打开文本文件.(不存在则出错) 
“w”.为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖) 
“a”.为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)
“r+”.为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后不变)
“wb”.为写而打开二进制文件. 
“rb”.为读而打开二进制文件 
“ab”.为在文件后面添加数据而打开一个二进制文件.
“rb+”.为读和写而打开二进制文件.只是在随后的读写时,可以由位置函数设置读和写的起始位置.
“w+”.首先建立一个新文件,进行写操作,随后可以从头开始读.(若文件存在,原内容将全部消失) 
“a+”.功能与”a”相同;只是在文件尾部添加新的数据后,可以从头开始读. 
“wb+”.功能与”w+”同.只是在随后的读写时,可以由位置函数设置读和写的起始位置. 
“ab+”.功能与”a+”相同;只是在文件尾部添加新数据之后,可以由位置函数设置开始读的起始位置.

函数介绍

open函数  --- 打开一个文件流
函数原型:FILE*  fopen(const char *path, const char *mode);
参数:参数path是需要打开文件的文件名,通常把它叫做文件的路径,
         参数 mode 是打开文件的权限(只读、只写、读写等)。
返回值:打开成功返回指向打开文件的指针,后序可以通过这个指针来访问该文件。打开失败则返回NULL。

fgetc/fputc函数     ---读取/写入一个字节
函数原型:int fgetc(FILE *stream);
参数:打开的文件流,即fopen函数的返回值。
返回值:返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。

fgets/fputs函数   ---读取/写入一个字符串
函数原型:char *fgets(char *str, int size, FILE *stream); 
参数:参数str,存储着需要写入的字符串/用于存储读出来的数据
         参数size是读取或者写入的字符创的长度。
         参数stream是打开的文件流,fopen函数的返回值。
返回值:调用成功,将读取的字符串返回,使用fgets函数读取的时候会自动在字符串后边加上一个‘\0’,失败返回NULL。

fread函数   ---从文件流中读取一段数据
函数原型size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); 
参数:参数ptr用于存放读取的内容。由于读取的内容的类型不固定(可叫做读取记录吧)有可能是一个字符,整型或者结构体,所以是void* 类型的。
         参数size 是读取记录的大小。 
         参数nmemb是读取记录的条数。
         stream是文件流,fopen函数的返回值。
返回值:返回的是成功读取到的字节数。

fwrite函数   ---向文件里边写数据
函数原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);
参数:参数ptr是想要写入到文件流里边去的内容。
         参数size是将要写入元素的大小。
         参数nmemb是将要写入元素的个数。
         参数stream是将要写入的地方。
返回值:返回成功写入数据的字节数。

fprintf函数   ---将格式化的数据写入文件
函数原型:int fprintf(FILE *stream, const char *format, ...);
参数:参数stream是文件指针
         参数format格式化字符串
         后边跟输出列表
返回值:本次写入操作写到文件中的字节数。

fscanf函数  ---格式化的数据读出到变量
函数原型:int fscanf(FILE *stream, const char *format, ...);
参数:参数stream是文件指针
         参数format格式化字符串
         后边跟将要被赋值的变量
返回值:本次成功获取数据的字节数。

fseek函数  ---控制文件指针偏移
函数原型:int fseek(FILE *stream, long offset, int whence);
参数:参数stream是文件指针。
         offset是偏移量。
         whence是指偏移方式。有如下三种值可选:
             SEEK_SET 从距文件开头offset 位移量为新的读写位置. 
             SEEK_CUR 以目前的读写位置往后增加offset 个位移量.
             SEEK_END 将读写位置指向文件尾后再增加offset 个位移量. 
说明:当whence 值为SEEK_CUR 或SEEK_END 时, 参数offset 允许负值的出现.
          给出两种比较特别的使用方式
            1)、将文件指针移动到开头:fseek(fd, 0, SEEK_SET);
            2)、将文件指针移动到结尾:fseek(fd, 0, SEEK_END);
返回值:调用成功返回0,失败返回-1,errno会存放错误代码。

ftell函数   ---获取当前文件指针的位置
函数原型:long ftell(FILE *stream);
返回值:文件指针相对于文件开头的偏移量。

rewind函数  ---将文件指针指向文件的开头
函数原型:void rewind(FILE *stream);

feof函数  ---判断文件指针是否指向文件结尾
函数原型:int feof(FILE *stream);

注意事项

写完数据后要调用fclose()关闭流,不关闭流的情况下,每次读或写数据后,文件指针都会指向下一个待写或者读数据位置的指针。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值