Linux IO函数

Linux IO函数_第1张图片

read/write函数:

1.read

#include

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

参数:

    -fd:文件描述符,open得到的,通过这个文件描述符操作某个文件

    -buf:需要读取数据存放的地方,数组的地址;

    -count:指定的数组的大小

返回值:

    -成功:

        >0:返回实际的读取到的字节数

        =0:文件已经读完了

    -失败:

        返回-1,并且设置error

2.write

#include

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

    参数:

        -fd:文件描述符,open得到的,通过这个文件描述符操作某个文件

        -buf:需要读取数据存放的地方,数组的地址;

        -count:要写的数据的实际的大小

    返回值:

    -成功:

        >0:返回实际的写入的字节数

        =0:没有任何的内容写入

    -失败:

        返回-1,并且设置error

Linux IO函数_第2张图片 

lseek函数

#include

#include

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

        参数:

            -fd:文件描述符

            -offset:偏移量

            -whence:

                SEEK_SET

                    设置文件指针的偏移量

                SEEK_CUR

                    设置偏移量:当前位置 + 第二个参数offset的值

                SEEK_END

                    设置偏移量:文件大小 + 第二个参数的值

        返回值:返回文件指针所在的位置

    作用:

        1.移动文件指针到文件头 lseek(fd, 0, SEEK_SET)

        2.获取当前文件指针的位置 lseek(fd, 0, SEEK_CURRENT)

        3.获取文件长度 lseek(fd, 0, SEEK_END)

        4.拓展文件的长度 lseek(fd, 100, SEEK_END)(增加100个字节)需要写一次数据

Linux IO函数_第3张图片

stat/lstat函数

#include

#include

#include

       1. int stat(const char *pathname, struct stat *statbuf);

作用:获取一个文件相关的信息,如文件大小、权限、Inode、Uid、最近访问时间、最近更改时间、最近改动时间等等

        参数:

            -pathname:操作文件的路径

            -statbuf:结构体变量,传出参数,用于保存获取到的文件的信息

        返回值:

            成功:返回0

            失败:返回-1,设置errno

       2. int lstat(const char *pathname, struct stat *statbuf);

        获取软连接文件的信息

Linux IO函数_第4张图片Linux IO函数_第5张图片

Linux IO函数_第6张图片

你可能感兴趣的:(算法)