Linux -- 系统调用

系统调用基础

用户态函数 → 触发内核态系统调用

  • printf → 内核 write

  • fopen/fclose → 内核 open/close

文件操作核心系统调用:

open → read → write → close

文件操作系统调用详解

1. 标准文件描述符

  • 0:标准输入 stdin

  • 1:标准输出 stdout

  • 2:标准错误 stderr

自定义打开的文件描述符从 3 开始。

2. 常用头文件

复制代码
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>

3. 打开文件:open

复制代码
int open(const char *pathname, int flags, mode_t mode);
  • 常用 flags:

    • O_RDONLY:只读

    • O_WRONLY:只写

    • O_CREAT:不存在则创建

    • O_TRUNC:清空文件

  • 返回值:成功返回文件描述符 fd,失败返回 -1。

4. 读写关闭

  • read(fd, buf, count):读数据到缓冲区。

  • write(fd, buf, count):写数据到文件。

  • close(fd):关闭文件,释放描述符。

相关推荐
爱喝水的鱼丶2 小时前
SAP-ABAP:S/4 HANA ABAP 新特性入门:与 ECC ABAP 的核心差异、架构优势与学习路径规划
运维·数据库·性能优化·sap·abap·hana·开发交流
leobertlan8 小时前
痛苦系列 | DSP-03 跨越单位圆:Z变换与零极点分析
算法·程序员
蛋蛋的就会顺顺的9 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
贵州诚鑫致达科技有限公司9 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
开发小能手1239 小时前
答案daanC语言
数据结构·算法
遇印记10 小时前
传输层,网络层
运维·服务器·网络·windows·学习
品牌常新10 小时前
景区巡逻机器人怎么选?派宝S5全地形守护解析
运维·人工智能·机器人
Elastic 中国社区官方博客10 小时前
一条 ES|QL 查询,涵盖365天的审计日志:在热数据和可搜索快照上执行相同的搜索
大数据·运维·服务器·elasticsearch·搜索引擎·全文检索
Navigator_Z11 小时前
LeetCode //C - 1291. Sequential Digits
c语言·算法·leetcode