Linux中C语言的文件读写

目录

文件偏移

文件描述和文件描述符

文件描述符的创建和关闭

文件描述符的创建

文件描述符的关闭

举个例子

文件描述符的基本操作

读取

写入

二进制读写

标准输入、输出、错误输出

文件偏移的设置


在Linux中,一切都是文件。程序可以通过文件描述操作文件。文件描述存储在进程的内核区,不能直接使用,因此Linux提供了文件描述符。文件描述符是文件描述在用户空间的引用,我们可以调用一系列系统函数,对文件描述符进行操作。

文件偏移

文件偏移是操作文件的指针,它规定了操作文件的位置。如,如果文件偏移在文件末尾,则写入文件时会在末尾写入。其实,文件偏移是一个整数,其值规定了文件偏移在第几字节。

文件描述和文件描述符

文件描述是系统范围表里的条目,它存储文件偏移,以及文件的标志。

文件描述符是一个非负整数,用于随后的系统调用。它是文件描述的引用。

文件描述符的创建和关闭

文件描述符的创建

在Linux中,我们有许多方法创建一个文件描述符,因为一切皆文件。但是,如果我们想要操作一个有路径的,存在磁盘上的正常的文件,需要先使用open(2)函数打开它:

int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

使用前,需要引用头文件:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

这个函数将会返回路径为pathname的文件的文件描述符,并在系统里创建一个新的文件描述。

参数flags表示访问模式,必须包括为O_RDONLY, O_WRONLY, 或O_RDWR,分别表示只读、只写,或既可读又可写。

另外,flags参数还可以与以下值进行位运算(有18个值,这里只列出前6个):

描述
O_APPEND 以追加模式打开文件,文件偏移将
  • 28
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值