目录
五、关于fopen ,fread,fwrite函数与open,read,write函数的区别
一、fopen函数
#include <stdio.h> //包含头文件
FILE *fopen(const char *path, const char *mode); //函数原型
1. 函数功能:打开或创建文件(与open函数相同)
2. 函数返回值:调用工成功,文件顺利打开后,指向该流的文件指针就会被返回
调用失败返回NULL
3.函数参数:const char *path:打开/创建的文件名(含文件路径)
const char *mode :文件操作的权限
"r" 文件只读
"w" 创建文字文件只写
"a" 增补, 如果文件不存在则创建一个
"r+" 打开一个文字文件读/写
"w+" 创建一个文字文件读/写
"a+" 打开或创建一个文件增补
"b" 二进制文件(可以和上面每一项合用)
"t" 文这文件(默认项)
二、fwrite函数
#include <stdio.h> //头文件
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); //函数原型
1.函数功能:对fopen打开/创建的文件 进行写入数据
2.函数返回值:fwrite返回值取决于参数siez_t nmemb的值
3.函数参数:a. void *ptr:数据缓冲区(把ptr的数据写入到文件)
b.size_t size写入数据的字节大小
c.size_t nmemb写入次数
d.FILE *stream : 该流的文件指针 (打开的文件)
三、fread函数
#include <stdio.h> //包含头文件
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); //函数原型
1.函数功能:fopen打开/创建的文件 读写文件里面的数据
2.函数返回值:
1.成功读取的字节数:如果成功读取文件,fread函数将会返回所读取的字节数,如果是到文件的末尾还没有读取完,将会返回较小的值。
2.如果读取发生错误,函数将返回0,此时应该检查feof或者 ferror 变量来查看是文件已经到达末尾,还是一般的IO 错误
3.函数参数:
a.void *ptr:数据缓冲区(把读取的数据放在ptr)
b.size_t size:读取数据的大小字节
c.size_t nmemb:读写的次数
d. FILE *stream : 该流的文件指针 (打开的文件)
四、fopen、fwrite、fread函数使用
代码演示:
#include<stdio.h>
#include<string.h>
int main()
{
char *buf = "Hello Word";
char readbuf[1024] = {'\0'};
FILE *ptr = NULL;
ptr = fopen("./bo.txt","w+"); //打开文件bo.txt,可读可写的方式
fwrite(buf,sizeof(char),strlen(buf),ptr); //将buf的数据写入文件
fseek(ptr,0,SEEK_SET); //将文件读写指针偏移到文件头
fread(readbuf,sizeof(char),strlen(buf),ptr); //将文件的内容读取到readbuf
fclose(ptr); //关闭文件
puts(readbuf); //将文件读取的内容打印出来
return 0;
}
运行结果:
五、关于fopen ,fread,fwrite函数与open,read,write函数的区别
详细解释:参考网址
https://www.cnblogs.com/NickyYe/p/5497659.htmlhttps://www.cnblogs.com/NickyYe/p/5497659.html