Linux系统编程之文件的标准C库里的fopen,fread,fwrite,fseek等,并用标准C库的函数实现将整数结构体和结构体数组写进文件里

经过之前那么多节的学习,对文件的打开,关闭等操作有了很大的理解,那么今天我们来聊一下标准C库里的打开关闭等函数。

1.首先来看一下标准c库里的fopen函数
函数原型:

 FILE *fopen(const char *path, const char *mode);
fopen返回的是FILE类型的字符流。
path:要打开的文件名(含路径,缺省为当前路径);
mode:打开的方式,例如“w+”就是以可读可写的方式打开,若文件不存在并创建,若存在则将原来的内容清空,
     (还有很多想“w+”的这种权限,记不住的,也没必要记,要用的时候百度即可)

2.标准C库里的fwrite函数
函数原型:

 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
返回值:返回的是size_t nmemb(一个整型数),即写的次数。
*ptr:一个无类型的指针,(即将要被写进文件里的字符串);
size:每次要写的大小为多少个字节;
nmemb:要写的次数,这个要看size每次写进的大小决定要写的次数;
*stream:将要被写进的文件,即类似于文件描述符,在这里叫字符流;

3.标准C库里的fread函数
函数原型:

   size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
返回值:返回的是size_t nmemb(一个整型数),即读取的次数。
*ptr:一个无类型的指针(将要存放被从文件里读取出来的字符串);
size:每次要读取的大小为多少个字节;
nmemb:要读取的次数,这个要看size每次读取的大小决定要读取的次数;
*stream:将要被读取的文件,即类似于文件描述符,在这里叫字符流;

4.标准C库里的fseek函数
函数原型:(fseek其实跟lseek是一样的)

  int fseek(FILE *stream, long offset, int whence);
返回值:fseek返回的是光标偏移的数量,即一个整型数;
whence包括以下三个东西:
(1SEEK_SET:文件头的位置。
(2SEEK_CUR:光标当前的位置。
(3SEEK_END:文件尾巴的位置。

好了,说了那么多,直接上一个几个函数的综合代码吧。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
   
        //FILE *fopen(const char *path, const char *mode);

        FILE *fp;
        
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值