做微信电影网站识图找图
2026/6/9 14:07:57 网站建设 项目流程
做微信电影网站,识图找图,怎么看一个网站好坏,个人急售二手房文件描述符基础Linux启动每个进程自动打开三个标准IO:描述符0#xff0c;stdin_fileon#xff0c;标准输入描述符1#xff0c;stdout_fileon#xff0c;标准输出描述符2#xff0c;stderr_fileon#xff0c;标准错误文件描述声明周期创建#xff1a;系统调用open(),sock…文件描述符基础Linux启动每个进程自动打开三个标准IO:描述符0stdin_fileon标准输入描述符1stdout_fileon标准输出描述符2stderr_fileon标准错误文件描述声明周期创建系统调用open(),socket(),pipe(),dup()等。使用使用read(),write(),lseek(),ioctl()操作关闭使用close()释放资源文件描述符与文件表与inode关系多个fd可以指向同一个文件表项多个文件表项可以指向同一个inode(磁盘元数据文件大小权限数据块指针)系统调用介绍open()打开或创建文件,返回最小可以fdclose()关闭fd释放资源dup(fd)复制fd返回最小可用新fddup2(oldfd,newfd)将oldfd复制到newfdc语言代码#include stdio.h #include unistd.h #include fcntl.h #include stdlib.h #include string.h void show_fds(const char* msg) { printf(\n--- %s ---\n, msg); system(ls -l /proc/self/fd/); } int main() { int fd1, fd2; // 显示初始文件描述符应包含 0,1,2 show_fds(初始状态); // 打开一个新文件获取新的文件描述符 fd1 open(testfile.txt, O_CREAT | O_RDWR | O_TRUNC, 0644); if (fd1 -1) { perror(open); exit(1); } show_fds(打开 testfile.txt 后); // 使用 dup 复制文件描述符 fd2 dup(fd1); if (fd2 -1) { perror(dup); close(fd1); exit(1); } show_fds(dup(fd1) 后); // 向两个 fd 写入数据应写入同一文件 write(fd1, Hello from fd1\n, 16); write(fd2, Hello from fd2\n, 16); // 关闭 fd1fd2 仍应有效 close(fd1); show_fds(关闭 fd1 后); // 使用 dup2 将 fd2 重定向到 stdout (1) dup2(fd2, STDOUT_FILENO); printf(这条消息会写入 testfile.txt\n); // 因为 stdout 已重定向 // 恢复 stdout这里不恢复直接关闭 close(fd2); show_fds(全部关闭后); // 验证文件内容 printf(\n文件 testfile.txt 内容:\n); system(cat testfile.txt); // 清理 unlink(testfile.txt); return 0; }实验结果编译运行结果

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询