Linux文件编程—fopen、fwrite、fread函数使用介绍以及和open、write、read的区别

目录

一、fopen函数

二、fwrite函数

三、fread函数

四、fopen、fwrite、fread函数使用

代码演示:

运行结果: 

五、关于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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值