Linux c语言读写文件实例(C库和系统调用两种方式)

本文介绍了在Linux系统中使用C语言进行文件读写操作的两种方法:库函数(如fopen, fread, fwrite等)和系统调用(如open, read, write等)。通过代码实例展示了如何读取和写入文件,并讨论了两者之间的区别。在嵌入式系统中,理解并掌握这两种方式对于进行文件操作至关重要。" 112360573,10549086,Matlab无法识别USB相机:问题与解决,"['MATLAB', '图像采集', '硬件连接', '设备管理', '编程问题']
摘要由CSDN通过智能技术生成


前言

在嵌入式系统上,经常会涉及到对文件进行读写的操作,本文主要介绍在Linux系统上常见的两种读写文件的方式,使用C语言库函数和系统调用。

一、使用C语言库函数的方式

1. 主要的相关函数接口

  1. fopen()
    打开文件, 第二个参数决定打开文件的mode, 具体的模式可以在Ubuntu上使用man 3 fopen命令查看细节
  2. fread()
    读文件里的内容,具体函数介绍可以在Ubuntu上使用man 3 fread命令查看
  3. fwrite()
    往文件里写数据,具体函数介绍可以在Ubuntu上使用man 3 fwrite命令查看
  4. fseek()
    可以移动文件头指针,具体函数介绍可以在Ubuntu上使用man 3 fseek命令查看
  5. ftell()
    计算文件大小,一般和fseek()组合使用,具体函数介绍可以在Ubuntu上使用man 3 ftell命令查看
  6. fclose()
    关闭文件,具体函数介绍可以在Ubuntu上使用man 3 fclose命令查看

2. 代码实例

以下代码实现的功能是从一张NV12格式的图片文件中读取它的Y分量数据存放到另一个文件中

#include <stdio.h>
#include <stdlib.h>


//src file src.yuv    1280*720*3/2 NV12
//dst file dst.y      1280*720     GREY

#define SRC_FILE "./src.yuv"
#define DST_FILE "./dst.y"

int main()
{
   
    int ret;

    FILE *src_fd;
    FILE *dst_fd;

    //--------------------------------------------------------src file
    

    //fopen src file
    src_fd = fopen(SRC_FILE, "r");                  //O_RDONLY mode
    if (!src_fd) {
   
        printf("fopen %s failed\n", SRC_FILE);
        return -1;
    }

    //get src file size
    if (fseek(src_fd, 0, SEEK_END) !=0) {
             //将文件指针移动到文件末尾
        printf("fseek END error\n");
        return -1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值