C语言:文件函数 fopen(),fclose(),fwrite(),fread()
2017-10-26 16:25
417 查看
文件打开函数:fopen
fopen函数是在当前目录下打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式);
ex:
FILE *fr = fopen(srcpath,"r");
FILE *fw = fopen(despath,"w");
FILE *fr =fopen("c:\\1.test","rb");
其意义是打开C驱动器磁盘的根目录下的文件1.test,两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。
在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。
断言:assert(fw != NULL)
关闭文件函数:fclose
可以把缓冲区内最后剩余的数据输出到内核缓冲区,并释放文件指针和有关的缓冲区。
与 FILE *fp = fopen("", "");相对应。
返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1).
文件写入函数:fwrite
fwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。
函数原型:
fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
-- buffer:指向数据块的指针
-- size:每个数据的大小,单位为Byte(例如:sizeof(int)就是4)
-- count:数据个数
-- stream:文件指针
注意:返回值随着调用格式的不同而不同:
(1) 调用格式:fwrite(buf,sizeof(buf),1,fp);成功写入返回值为1(即count)
(2)调用格式:fwrite(buf,1,sizeof(buf),fp);成功写入则返回实际写入的数据个数(单位为Byte)
文件读取函数:fread
函数原型: fread(void *buffer,size_t size,size_t count,FILE *stream);
返回值:读取的元素的个数
使用文件的方式共有12种,下面给出了它们的符号和意义:
1."r" = "rt"
打开一个文本文件,文件必须存在,只允许读
2."r+" = "rt+"
打开一个文本文件,文件必须存在,允许读写
3."rb"
打开一个二进制文件,文件必须存在,只允许读
4.“rb+”
打开一个二进制文件,文件必须存在,允许读写
5."w" = “wt”
新建一个文本文件,已存在的文件将被删除,只允许写
6."w+" = "wt+"
新建一个文本文件,已存在的文件将被删除,允许读写
7.“wb”
新建一个二进制文件,已存在的文件将被删除,只允许写
8.“wb+”
新建一个二进制文件,已存在的文件将被删除,允许读写
9."a" = "at"
打开或新建一个文本文件,只允许在文件末尾追写
10."a+" = "at+"
打开或新建一个文本文件,可以读,但只允许在文件末尾追写
11.“ab”
打开或新建一个二进制文件,只允许在文件末尾追写
12.“ab+”
打开或新建一个二进制文件,可以读,但只允许在文件末尾追写
文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 只读
w(write): 只写
a(append): 追加
t(text): 文本文件,可省略不写
b(binary): 二进制文件
+: 读和写
fopen函数是在当前目录下打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式);
ex:
FILE *fr = fopen(srcpath,"r");
FILE *fw = fopen(despath,"w");
FILE *fr =fopen("c:\\1.test","rb");
其意义是打开C驱动器磁盘的根目录下的文件1.test,两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。
在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。
断言:assert(fw != NULL)
关闭文件函数:fclose
可以把缓冲区内最后剩余的数据输出到内核缓冲区,并释放文件指针和有关的缓冲区。
与 FILE *fp = fopen("", "");相对应。
返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1).
文件写入函数:fwrite
fwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。
函数原型:
fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
-- buffer:指向数据块的指针
-- size:每个数据的大小,单位为Byte(例如:sizeof(int)就是4)
-- count:数据个数
-- stream:文件指针
注意:返回值随着调用格式的不同而不同:
(1) 调用格式:fwrite(buf,sizeof(buf),1,fp);成功写入返回值为1(即count)
(2)调用格式:fwrite(buf,1,sizeof(buf),fp);成功写入则返回实际写入的数据个数(单位为Byte)
文件读取函数:fread
函数原型: fread(void *buffer,size_t size,size_t count,FILE *stream);
返回值:读取的元素的个数
使用文件的方式共有12种,下面给出了它们的符号和意义:
1."r" = "rt"
打开一个文本文件,文件必须存在,只允许读
2."r+" = "rt+"
打开一个文本文件,文件必须存在,允许读写
3."rb"
打开一个二进制文件,文件必须存在,只允许读
4.“rb+”
打开一个二进制文件,文件必须存在,允许读写
5."w" = “wt”
新建一个文本文件,已存在的文件将被删除,只允许写
6."w+" = "wt+"
新建一个文本文件,已存在的文件将被删除,允许读写
7.“wb”
新建一个二进制文件,已存在的文件将被删除,只允许写
8.“wb+”
新建一个二进制文件,已存在的文件将被删除,允许读写
9."a" = "at"
打开或新建一个文本文件,只允许在文件末尾追写
10."a+" = "at+"
打开或新建一个文本文件,可以读,但只允许在文件末尾追写
11.“ab”
打开或新建一个二进制文件,只允许在文件末尾追写
12.“ab+”
打开或新建一个二进制文件,可以读,但只允许在文件末尾追写
文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 只读
w(write): 只写
a(append): 追加
t(text): 文本文件,可省略不写
b(binary): 二进制文件
+: 读和写
相关文章推荐
- linux c语言之文件操作相关函数--fopen(),fopen_s(),fread(),fwrite(),fclose(),
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- fgetc()/fputc()/fgets()/fputs()/fread()/fwrite()/fopen()/fclose() 等C语言文件操作函数
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- [小结]C语言的文件操作函数fopen,fread,fwrite注意点
- fopen , fread fwrite 函数读写二进制文件 问题总结
- 文件操作--标准I/O操作--fopen() fclose() fread() fwrite()
- C++ 文件读写函数之——fopen、fread和fwrite
- 读写大“二进制”文件,不必申请很大内存(fopen,fread,fwrite,fclose)
- 文件编程中的两套操作:标准C库(fread, fwrite,fclose,fopen...)和 系统调用(open, read, write...)
- (转载)C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
- fopen , fread fwrite 函数读写二进制文件 问题总结
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
- linux-fopen-fclose-fread-fwrite等函数
- C语言读写文件 -fopen、fread、fwrite
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
- 读写大“二进制”文件,不必申请很大内存(fopen,fread,fwrite,fclose)
- C文件操作——fopen/fseek/ftell/fread/fwrite/fclose等函数用法
- 转载_linux-fopen-fclose-fread-fwrite等函数