news 2026/10/23 3:03:39

文件定位、文件IO

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
文件定位、文件IO

标准io读写归纳总结

fputs和fgets最常用

文件定位

fseek ftell rewind

fseek

若从末尾开始向后偏移,则偏移多少,系统自动补零多少

示例:

ftell

示例:

rewind

示例:

练习:

复制文本文件内容

数一个文件里面字母a~z共出现多少次

完成图片的复制

文件io

介绍:

操作系统为了方便用户使用系统功能而对外提供的一组系统函数

称之为 系统调用(systemcall)

c库是为了通用(跨平台,linux,win ),而设计的函数接口。

systemcall 直接可以使用linux系统提供的功能。

c库是对 systemcall 的封装。c库的函数会调用systemcall中的函数。

啥文件都能操作,不分文本文件和二进制文件

#include <unistd.h> 的地位等同于 #include <stdio.h>

标准io 文件io的区别

1、文件io没有缓存区 , 文件io更适合操作 设备文件。
2、文件io操作对象不在是文件流指针,而是文件描述符(很小的非负的整数 0-1023 )

每个程序在启动的时候操作系统默认为其打开
三个描述符与流对象匹配:
0 >STDIN_FILENO = stdin
1 >STDOUT_FILENO == stdout
2 ==>STDERR_FILENO == stderr( 标准错误输出)
stdin,stdout,stderr,=>FILE*

标准io 文件io各功能对应

相关函数

open

若 flags 位有 O_CREAT 则 mode 位默认写0666

write

返回值若不是-1或者实际写入的个数:没写全

用write时 不要用sizeof算长度,这样的话只能4k、4k的读

若要读的对象是 15k = 3×4k + 3k,则最后3k

硬被写到4k了,则write后的文件变大了

所以针对write,要接收read的返回值

将该返回值放到write中大小的位置

read

lseek

知识点补充

1、a.out能打开的文件就只有1k(0~1023)(1024个)

2、在终端界面,输入指令ll

能写就是r,能读就是w,不可以就是-

从左至右权限人顺序:

作者 组成员

3、off_t:: long int 类型

4、stderr:判断错误输出

例如:

判断文件是否打开:
if (-1 == fd)
{
fprintf(stderr, "open error\n");
return 1;
}

练习

使用read/write 实现文件的复制图片

实现文本文件的插入功能

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 3:02:36

光刻胶膜厚怎么测?i线与电子束双曝光工艺解析

mr-EBL 6000.5是一种环氧树脂基化学放大负性光刻胶&#xff0c;对电子束和紫外光均具有感光能力。Flexfilm费曼仪器探针式台阶仪可以实现表面微观特征的精准表征与关键参数的定量测量&#xff0c;精确测定样品的表面台阶高度与膜厚&#xff0c;为材料质量把控和生产效率提升提供…

作者头像 李华
网站建设 2026/10/23 3:02:08

RDMA高速网卡芯片散热方案及导热硅胶片的应用

RDMA高速网卡是AI大模型集群、高性能计算场景下的核心通信部件&#xff0c;800G/1.6T高带宽型号满负载运行时芯片局部热点可达70℃以上&#xff0c;直接引发P99延迟飙升、带宽跑不满&#xff0c;导热硅胶片是其最适配的界面散热方案&#xff0c;可稳定保障724小时长周期运行下的…

作者头像 李华
网站建设 2026/10/23 3:01:53

什么是OSINT-BIBLE?深度解析2026版450+工具开源情报调查宝典

网络安全知识库文档 【免费下载链接】OSINT-BIBLE Comprehensive 2026 OSINT guide — 450 tools, AI intelligence, methodologies & ethics across 35 sections for investigation & threat intel. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/os/OSINT-BI…

作者头像 李华
网站建设 2026/10/23 3:01:48

杰理SDK开发-TWS耳机「双击 + 长按」组合按键清除配对功能实现教程

前言现在为止也开发了许多杰理TWS蓝牙耳机、音响项目 SDK的案子&#xff0c;在调试案子时不断的向前辈们学习到了很多关于蓝牙音响、蓝牙TWS耳机专业的知识。想在这里做一个学习汇总&#xff0c;方便各位同行和对杰理芯片SDK感兴趣的小伙伴们学习&#xff1b;本章详细讲解杰理…

作者头像 李华