美文网首页
系统编程-------文件操作

系统编程-------文件操作

作者: Hassan_chao | 来源:发表于2017-01-09 08:09 被阅读7次

    文件的操作

    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 打开模式
        • mode 仅在 flags参数中含有O_CREAT时有效,设定新文件的打开权限

    返回值:

    ​ 打开成功,返回文件描述符;失败,返回-1

    使用create函数创建文件并打开

    int creat(const char *pathname, mode_t mode);
    

    参数:

    • pathname 带创建的文件名(可携带路径)
    • mode 创建文件的权限

    返回值:

    ​ 打开的文件描述

    2、读写文件

    >### 使用read函数从文件中读取数据
    
    #include <unistd.h>ssize_t read(int fd, void *buf, size_t count);
    

    参数:

    • fd提供数据的文件的描述符,读取的数据来源

    • buf读到的数据所存放的内存空间的起始地址

    • count想要读取的数据的字节数,也是提供的存储空间字节数

      返回值:

    返回实际读取的字节数([0,count]区间变化)。返回0,表示读取到了文件的尾部;读取失败,返回-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读写指针的偏移量(可正可负可为0)
    • whence读写指针的偏移位置
    SEEK_SET  相对文件首部偏移
    
    SEEK_CUR    相对文件当前读写位置偏移
    

    相关文章

      网友评论

          本文标题:系统编程-------文件操作

          本文链接:https://www.haomeiwen.com/subject/xrtcbttx.html