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):关闭文件,释放描述符。

相关推荐
AlfredZhao2 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
_清歌5 小时前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局5 小时前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象5 小时前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法
统计实现局5 小时前
对称不定分解(Bunch-Kaufman):为什么 Cholesky 不够用
算法
统计实现局5 小时前
dqrsl 拆解:拿着 QR 结果能算出哪 5 种东西
算法
统计实现局5 小时前
为什么 Cholesky 求逆比 Gauss-Jordan 快一倍——行列式溢出防护详
算法
To_OC16 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
金銀銅鐵20 小时前
[Python] 扩展欧几里得算法
python·数学·算法