Linux文件编程

API:

int fd;(文件描述符 )

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

Pathname:要打开的文件名

flag:O_RDONLY 只读        O_WRONLY 只写打开        O_RDWR 可读可写打开

其他常量:

O_EXCL:如果同时指定了O_CREAT(和O_CREAT同时存在),而文件已经存在,则出错。

O_APPEND:每次写时都加到文件的尾端。

O_TRUNC:打开文件时,如果这个文件中本来是有内容的,而且为只读或只写成功打开,则将其长度截短为0;

返回值:如果open打开成功 返回一个小的、非负整数,失败则返回-1;

fd = open("./file",O_RDWR);        //打开file1文件,以可读可写的方式打开

fd = open("./file",O_RDWR|O_CREAT,0600);        //打开file1文件,如果打开失败,则创建一个file1文件,0600为可读可写的权限 

2、       ssize_t write(int fd, const void *buf, size_t count);

描述:往fd里面写一个const void *buf,字节大小为size_t count。

write(fd,buf,strlen(buf));

返回值:成功则返回一个写入的整形个数,否则返回-1.

3、       ssize_t read(int fd, void *buf, size_t count);

描述:从fd里面读取size_t count个字节放进void *buf中

返回值:成功返回一个读取到的字节大小(如果从字符串尽头开始读取,则返回0),否则返回-1。

read = (fd,readBuf,n_write);        //n_write为从fd里读取到的字节大小

实际上从write函数写入成功以后,光标自动移到字符串的尾部,此时read函数从光标的当前位置读取(即是光标的尾部),所以字节数为0,需要用到lseek函数。

4、off_t lseek(int fd, off_t offset, int whence);

whence:SEEK_SET(文件的头部),SEEK_CUR(文件的当前光标位置),SEEK_END(文件的尾部)

描述:对fd进行操作,从fd的位置偏移offset个字节

lseek(fd,21,SEEK_SET);        //从文件的头部偏移21个字节

返回值:lseek调用成功返回一个offset偏移值,否则返回-1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值