博客
关于我
二、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/

    你可能感兴趣的文章
    PHP5.3.3安装Mcrypt扩展
    查看>>
    PHP5.4 + IIS + Win2008 R2 配置
    查看>>
    PHP5.4 pfsocketopen函数判断sock是否存活的bug(由memcached引起)
    查看>>
    Redis从入门到精通
    查看>>
    PHP5.6.x编译报错:Don't know how to define struct flock on this system, set --enable-opcache=no
    查看>>
    php5ts.dll 下载_php5ts.dll下载
    查看>>
    php7
    查看>>
    PHP7 新特性
    查看>>
    PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
    查看>>
    php7.1.6 + redis
    查看>>
    php7中使用php_memcache扩展
    查看>>
    PHP7中十个需要避免的坑
    查看>>
    php7和PHP5对比的新特性和性能优化
    查看>>
    PHP7安装pdo_mysql扩展
    查看>>
    PHP7实战开发简单CMS内容管理系统(7) 后台登录架构 用户登录校验
    查看>>
    php7,从phpExcel升级到PhpSpreadsheet
    查看>>
    PHP8.1 + ThinkPHP实战指南:高效构建现代化网站的六大技巧
    查看>>
    PHP8中match新语句的操作方法
    查看>>
    PHP:第一章——PHP中常量和预定义常量
    查看>>
    PHP:第一章——PHP中的位运算
    查看>>