第一节 系统IO函数

1,open:

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

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

    pathname:打开的文件名

    flags(操作标志位):
    O_RDONLY, O_WRONLY, or O_RDWR
    以上三个必须从中选择一个写入flags参数中
    以下参数需要掌握一下:

    O_APPEND:追加,在文件后面开始输入
    O_CREAT:创建文件,当文件不存在的情况下创建这个文件,需要在后面添加创建文件的权限(mode)
    创建文件之后的权限是mode&~umask

    O_EXCL:跟上面的创建配套使用,如果文件存在了则打开失败
    O_DIRECTORY:判断文件是否是目录,是目录则打开失败
    O_NONBLOCK or O_NDELAY:不阻塞的打开文件,读写操作的时候不会卡住
    O_TRUNC:打开文件的时候清空里面的内容

    返回值:
    返回一个文件描述符(就是文件的代号)

    注意:
    默认情况下,应用已经打开了三个文件0(标准输入),1(标准输出),2(标准出错)

close:关闭一个文件描述符

    #include <unistd.h>
    int close(int fd);
    fd:关闭哪个文件描述符

    返回值:
    成功返回0,失败返回-1

read:读取指定文件的内容

    #include <unistd.h>
    ssize_t read(int fd, void *buf, size_t count);

    fd:读取哪个文件
    buf:读取的内容存放到哪里去
    count:读取多少字节的数据

    返回值:
    成功返回读取到多少个字节
    失败返回-1

write:写入内容到指定的文件

    #include <unistd.h>
    ssize_t write(int fd, const void *buf, size_t count);

    fd:写入哪个文件
    buf:写入的内容是什么
    count:写入多少个字节

    返回值:
    成功返回写入多少个字节
    失败返回-1

lseek:定位操作位置

    #include <sys/types.h>
    #include <unistd.h>
    off_t lseek(int fd, off_t offset, int whence);

    fd:重置哪个文件
    offset:偏移多少个单位(字节)
    whence:从哪里开始偏移
    SEEK_SET:文件开头
    SEEK_CUR:文件当前操作位置
    SEEK_END:文件末尾

    返回值:
    成功返回定位的位置距离头部有多少个字节
    失败返回-1

以上函数的errno都会被设置,都可以引用perror函数进行错误信息打印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值