博客
关于我
二、Linux文件操作示例
阅读量:83 次
发布时间:2019-02-26

本文共 1755 字,大约阅读时间需要 5 分钟。

Linux文件操作示例

Linux系统文件操作主要通过系统调用函数来实现。本文将介绍常用文件操作函数及其使用方法。

系统文件API函数

在使用文件操作函数之前,需先包含必要的头文件:

#include 
#include
#include

文件创建

使用creat函数创建文件:

int creat(const char *filename, mode_t mode);
  • filename:文件名称(字符串形式)
  • mode:文件权限模式
  • 返回值:成功返回0,失败返回-1

文件打开

使用open函数打开文件:

int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);
  • pathname:文件名称(字符串形式)
  • flags:打开模式(读模式需设置O_RDONLY,写模式需设置O_RDWRO_WRONLY
  • mode:文件权限模式(可选)
  • 返回值:文件描述符

文件读取

使用read函数读取文件内容:

int read(int fd, const void *buf, size_t length);
  • fd:文件描述符
  • buf:用于存储读取数据的缓冲区
  • length:要读取的数据长度
  • 返回值:实际读取的数据长度

文件写入

使用write函数写入文件:

int write(int fd, const void *buf, size_t length);
  • fd:文件描述符
  • buf:写入数据的缓冲区
  • length:写入的数据长度
  • 返回值:成功返回0,失败返回-1

文件关闭

使用close函数关闭文件:

int close(int fd);
  • fd:文件描述符
  • 返回值:成功返回0,失败返回-1

文件定位

使用lseek函数定位文件指针:

int lseek(int fd, offset_t offset, int whence);
  • fd:文件描述符
  • offset:定位的位置(字节偏移量)
  • whence:定位方式(SEEK_SETSEEK_CURSEEK_END
  • 返回值:成功返回0,失败返回-1

文件操作流程

读操作流程

  • 打开文件
  • 读取文件内容
  • 关闭文件
  • 写操作流程

  • 打开文件
  • 写入文件
  • 关闭文件
  • 示例代码

    写文件函数

    void write_file(char *s) {    int fd;    fd = open("hello.txt", O_CREAT | O_RDWR, S_IRUSR | S_IWUSR); // 创建并打开文件    if (fd > 0) {        write(fd, s, sizeof(s));        close(fd);    } else {        // 处理打开失败的情况    }}

    读文件函数

    int read_file(char *s, int len) {    int fd, rtn_len;    fd = open("hello.txt", O_RDWR); // 读取文件    rtn_len = read(fd, s, len); // 读取文件内容    close(fd); // 关闭文件    return rtn_len;}

    主函数

    int main() {    char testbuf[100] = {0}; // 初始化缓冲区    int len; // 用于存储读取的长度    // 写操作    write_file("hello guoguo\n");    // 读操作    len = read_file(testbuf, 100); // 读取文件内容到缓冲区    testbuf[len] = '/'; // 添加分隔符    printf("Reading File Content: %s", testbuf); // 输出结果}

    以上代码示例展示了如何使用Linux系统文件操作函数进行文件读写操作。通过合理使用这些函数,可以实现文件的创建、读取、写入和关闭等基本操作。

    转载地址:http://vxwu.baihongyu.com/

    你可能感兴趣的文章
    Skywalking原理
    查看>>
    PAT甲级——1006 Sign In and Sign Out (25分)
    查看>>
    PAT甲级——1007 Maximum Subsequence Sum (25分)
    查看>>
    PAT甲级——1009 Product of Polynomials (25分)(最后一个测试点段错误)
    查看>>
    Spring对jdbc的支持
    查看>>
    vagrant 的安装
    查看>>
    PayPal网站付款标准版(for PHP)
    查看>>
    Paystack Android SDK 集成与使用指南
    查看>>
    pbf格式详解,javascript加载导出pbf文件示例
    查看>>
    PBOC2.0与3.0的区别
    查看>>
    PbootCMS entrance.php SQL注入漏洞复现
    查看>>
    PbootCMS 前台RCE漏洞复现
    查看>>
    PBT
    查看>>
    PB级分析型数据库ClickHouse的应用场景和特性
    查看>>
    pc3-12800
    查看>>
    PCA---主成成分分析
    查看>>
    PCA和自动编码器:每个人都能理解的算法
    查看>>
    pca算法
    查看>>
    PCA降维demo
    查看>>
    SharePoint 2013 图文开发系列之定义站点模板
    查看>>