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

张小明 2026/1/2 18:24:41
广州的网站建设,空间购买网站,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进行投诉反馈,一经查实,立即删除!

网站开发怎么找客户在线做高中试卷的网站

"又要手动生成几百个MIDI文件,这得搞到什么时候啊?" 🎵 如果你也曾经对着MIDI批量处理任务发愁,那么今天这篇文章就是为你准备的。 【免费下载链接】atm-cli Command line tool for generating and working with MIDI f…

张小明 2026/1/2 11:56:41 网站建设

微信上的网站怎么做网站建设怎样避免犯法

运维太苦了,别硬扛!转网安才是 “越老越吃香” 的破局路! “IT圈最闲的是运维”?说这话的人,肯定没熬过运维的夜。 凌晨 3 点的手机铃声,不是家人的关心,是服务器告警的 “催命符”&#xff0c…

张小明 2025/12/31 10:51:52 网站建设

张店网站推广营销推广方法有哪些

Vkvg:如何用Vulkan实现高性能2D图形渲染 【免费下载链接】vkvg Vulkan 2D graphics library 项目地址: https://gitcode.com/gh_mirrors/vk/vkvg 在现代图形应用开发中,如何平衡渲染性能与开发效率一直是技术决策者和开发者面临的挑战。Vkvg作为基…

张小明 2026/1/2 7:24:33 网站建设

可信网站图片logo安装公司网站怎么建站

AJ-Report完全指南:5步构建企业级数据可视化大屏 【免费下载链接】report AJ-Report是一个完全开源,拖拽编辑的可视化设计工具。三步快速完成大屏:配置数据源---->写SQL配置数据集---->拖拽生成大屏。让管理层随时随地掌控业务动态&…

张小明 2026/1/2 2:04:13 网站建设

交通运输行业网站建设做网站seo的公司

FaceFusion能否用于博物馆文物讲解员数字化? 在一座安静的展厅里,一尊千年青铜器前,一位身着汉服的“学者”正娓娓道来它的铸造工艺与历史渊源。他眼神专注、口型精准,偶尔微微点头,仿佛真有其人。但走近一看&#xf…

张小明 2026/1/2 3:42:30 网站建设

做视频网站用什么系统河南高端网站高端网站建设

还记得那些因为硬件限制而被迫放弃的视频创作梦想吗?当你精心拍摄的素材在后期处理中遇到显存不足的警告,那种挫败感足以让任何创作者心灰意冷。传统的视频增强工具虽然性能强大但门槛较高,直到Seed-VR2的出现,才真正打破了这种技…

张小明 2026/1/1 19:03:19 网站建设