Linux常见文件操作函数

下面来看几个常用的文件操作函数:

1,open函数。

函数原型: int open(const char *pathname, int flags, mode_t mode);

返回值:若成功返回文件描述符,若失败返回-1

头文件: #include <sys/types.h>
              #include <sys/stat.h>
                #include <fcntl.h>

pathname:要打开或创建文件的名字;
flag:打开的方式,有以下几种方式:
O_RDONLY:只读;
O_WRONLY:只写;
O_RDWR:读写;
O_APPEND:每次写时追加到文件的尾端;
O_CREAT:创建一个文件,只有在文件不存在时,才会生效,创建一个新文件;
O_EXCL:如果同时和O_CREAT使用,而文件已经存在,则会出错,用此可以测试一个文件是否存在,如果不存在,则创建此文件;
mode:创建问件时,指定文件的权限;
例如:open("./file1",O_RDWR|O_CREAT,0600);

//以可读可写的方式打开文件,如果没有就创
  //建一个可读可写的文件。权限0600,6=4+2;2可写 4可读。

2.write函数。

 #include <unistd.h>

函数原型: ssize_t write(int fd, const void *buf, size_t count);

fd:读取的文件的文件描述符,由open函数的返回值指定;
buf:读取的数据存储的起始位置;

返回值:如果顺利write()会返回实际写入的字节数(len)。当有错误发生时则返回-1,错误代码存入errno中。

3.read函数

#include <unistd.h>

函数原型:       ssize_t read(int fd, void *buf, size_t count);

fd:读取的文件的文件描述符,由open函数的返回值指定;
buf:读取的数据存储的起始位置;
size:一次最多读取的字节个数,size <= 缓冲区的大小;

4.lseek函数

#include <sys/types.h>
   #include <unistd.h>

  函数原型:off_t lseek(int fd, off_t offset, int whence);

fd:操作的文件的的文件描述符;
offset:偏移量
flag:移动标记,有以下几种:
SEEK_SET:将该文件的偏移量设置为距文件开始处offset个字节;
SEEK_CUR:将该文件的偏移量设置为当前值加offset个字节;
SEEK_END:将该文件的偏移量设置为文件长度offset个字节;


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值