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

张小明 2025/12/21 15:33:40
广州的网站建设,空间购买网站,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进行投诉反馈,一经查实,立即删除!

国内的足彩网站怎么做的广西建设网官网住房和城乡厅官网

凌晨两点,城市在沉睡。但在某栋写字楼的地下二层配电室,智能终端捕捉到B3相线路的微妙颤动——电流谐波比正常值高出0.8%,温度曲线出现0.3℃的异常上扬。系统没有拉响警报,而是在数据库的十万个历史案例中找到了相似波形&#xff…

张小明 2025/12/19 16:49:29 网站建设

网站开发的报告湖北省建设厅网站查询

当对象存储的单桶对象数量达到 5 亿时,是选择被迫推动业务代码重构进行“分桶”,还是选择一个真正能够支撑业务无限增长的底座?XEOS V6 给出了千亿级的答案。 在海量非结构化数据爆发的今天,很多企业在业务高速发展期&#xff0c…

张小明 2025/12/19 16:47:28 网站建设

网站根目录权限小满crm

提示词工程是优化大模型输出的核心技术,通过精心设计的指令提升模型表现。关键技巧包括:清晰表达需求、结构化指令、参数调整(Temperature和Top_p),以及进阶方法如零样本/少样本提示、链式思考(CoT)、自我一致性和思维树(ToT)。同时&#xff…

张小明 2025/12/20 16:50:08 网站建设

关于做外汇现货的网站吸引人的软文

Linux认证计划与基础知识全解析 1. Linux认证计划概述 Linux认证在当今IT行业中具有重要地位,它为从业者提供了专业认可和职业发展的机会。Linux Essentials计划旨在明确使用Linux操作系统熟练操作桌面或移动设备所需的基本知识。该计划引导和鼓励Linux新手以及开源领域的初…

张小明 2025/12/21 6:35:41 网站建设

临沂建设局网站质量三监督网页打不开但是能上网

LobeChat 技术面试题生成器开发 在现代软件工程实践中,技术面试的准备往往依赖于零散的资料来源——博客文章、GitHub 仓库、LeetCode 题解,甚至临时拼凑的 PDF 文档。这种方式不仅效率低下,而且缺乏互动性与个性化。随着大语言模型&#xff…

张小明 2025/12/21 7:12:06 网站建设