广州的网站建设空间购买网站

张小明 2026/1/6 13:29:42
广州的网站建设,空间购买网站,wordpress案例制作,wordpress英文主题改成中文Linux 基础 IO#xff08;输入 / 输出#xff09;是操作系统与外部设备、文件进行数据交互的核心机制#xff0c;其底层围绕文件描述符展开#xff0c;遵循 “一切皆文件” 的设计理念。以下是基础 IO 的核心概念与操作梳理#xff1a;一、 核心概念一切皆文件Linux 中输入 / 输出是操作系统与外部设备、文件进行数据交互的核心机制其底层围绕文件描述符展开遵循 “一切皆文件” 的设计理念。以下是基础 IO 的核心概念与操作梳理一、 核心概念一切皆文件Linux 中普通文件、目录、硬件设备如键盘、显示器、管道等都被抽象为文件统一使用文件 IO 接口操作简化了程序与不同设备的交互逻辑。文件描述符File Descriptor, FD是内核分配给进程的非负整数用于标识进程打开的文件是进程访问文件的 “句柄”。进程启动时默认打开 3 个文件描述符0标准输入stdin对应键盘等输入设备1标准输出stdout对应显示器等输出设备2标准错误stderr对应显示器等错误输出设备新打开的文件会分配当前最小的可用文件描述符。文件指针与 inode文件指针内核维护的文件偏移量记录当前读写位置读写操作后会自动移动。inode存储文件的元数据大小、权限、存储位置等文件名仅用于映射到 inode实际操作通过 inode 完成。二、 基础 IO 操作系统调用Linux 基础 IO 主要依赖系统调用函数区别于 C 语言标准库的 IO 函数如fopen/fread系统调用直接与内核交互更贴近底层。1. 文件打开与关闭打开文件open()函数原型c运行#include sys/types.h #include sys/stat.h #include fcntl.h int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);pathname文件路径绝对 / 相对flags打开方式常用取值O_RDONLY只读O_WRONLY只写O_RDWR读写O_CREAT文件不存在则创建需搭配mode指定权限O_TRUNC文件存在则清空内容mode创建文件时的权限如0644需与umask结合计算最终权限返回值成功返回文件描述符失败返回-1并设置errno。关闭文件close()函数原型c运行#include unistd.h int close(int fd);fd要关闭的文件描述符返回值成功返回0失败返回-1。注意进程退出时会自动关闭所有打开的文件描述符但显式关闭是良好编程习惯。2. 文件读写读文件read()函数原型c运行#include unistd.h ssize_t read(int fd, void *buf, size_t count);fd文件描述符buf存储读取数据的缓冲区count期望读取的字节数返回值成功返回实际读取的字节数到达文件末尾返回0失败返回-1。写文件write()函数原型c运行#include unistd.h ssize_t write(int fd, const void *buf, size_t count);参数含义与read()类似buf为要写入的数据缓冲区返回值成功返回实际写入的字节数失败返回-1。3. 文件偏移量调整lseek()用于修改当前读写位置文件指针函数原型c运行#include sys/types.h #include unistd.h off_t lseek(int fd, off_t offset, int whence);offset偏移量可正可负whence偏移基准SEEK_SET从文件开头开始偏移SEEK_CUR从当前位置开始偏移SEEK_END从文件末尾开始偏移返回值成功返回新的偏移量失败返回-1。示例将读写位置移到文件开头lseek(fd, 0, SEEK_SET);三、 标准库 IO 与系统调用 IO 的关系C 语言标准库的 IO 函数fopen/fread/fwrite是对系统调用的封装核心区别特性系统调用 IOopen/read标准库 IOfopen/fread操作对象文件描述符int文件指针FILE*缓冲区无直接读写内核缓冲区有用户态缓冲区减少系统调用次数适用场景底层开发、精准控制普通应用开发、效率优先四、 常见 IO 错误处理系统调用失败时会设置全局变量errno可通过perror()或strerror()打印错误信息c运行#include stdio.h #include errno.h #include string.h // 方式1perror 直接打印错误描述 if (open(test.txt, O_RDONLY) -1) { perror(open error); } // 方式2strerror 获取错误描述字符串 if (open(test.txt, O_RDONLY) -1) { printf(open error: %s\n, strerror(errno)); }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

中国建设招标网住建部网站关键字排名查询

Win11离线安装.NET Framework 3.5完全指南 【免费下载链接】已解决Win11离线安装.NETFramework3.5完全指南 【已解决】Win11离线安装.NET Framework 3.5完全指南 项目地址: https://gitcode.com/Resource-Bundle-Collection/d5cb0 摘要 本文档提供详细的指导&#xff0…

张小明 2026/1/6 21:29:45 网站建设

大连网站制作的公司网络营销的含义和特点

该报告聚焦 2025 年智能养老机器人行业,核心内容如下:产品分类:分为康复机器人(辅助肢体功能恢复)、护理机器人(日常起居协助)、陪伴机器人(情感支持与社交互动)三类&…

张小明 2026/1/5 21:58:30 网站建设

做网站现在还行吗网络媒体设计是做什么的

第一章:量子机器学习的 VSCode 调试面板在开发量子机器学习模型时,调试是确保算法正确性和性能优化的关键环节。VSCode 凭借其强大的扩展生态系统,成为集成量子计算框架(如 Qiskit、Cirq)的理想选择。通过配置合适的调…

张小明 2026/1/5 19:11:41 网站建设

网站如何加入广告联盟建设网站的一般步骤

💡实话实说:C有自己的项目库存,不需要找别人拿货再加价。摘要 随着高校信息化建设的不断推进,传统考勤方式如纸质签到、点名等已无法满足现代化教学管理的需求。这些方式效率低下、易出错,且难以实现数据的实时统计与分…

张小明 2026/1/6 5:34:14 网站建设

wordpress企业站主题免费免费的招标网站有哪些

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个面向SQL初学者的INSTR函数学习模块。要求:1.用找单词游戏类比INSTR原理;2.提供3个循序渐进的动画演示;3.内置交互式练习(如&…

张小明 2026/1/6 20:11:22 网站建设

山东网站备案注意事项网站开发有哪几类

三数之和:从 “暴力狂” 到 “双指针大师” 的修炼之路 🚀 一、LeetCode 第 15 题:三数之和 先来看看LeetCode上给出的题目描述: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、…

张小明 2026/1/5 18:46:32 网站建设