尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

C语言软件编程(3)

C语言软件编程(3) Linux目录IO普通文件负责存数据目录IO用来遍历文件夹、修改进程工作路径、增删目录文件。目录遍历整套接口opendir 打开目录返回 DIR* 目录流指针循环调用 readdir 读取目录内每一个条目返回 struct dirent 结构体存放文件名、文件类型读到目录末尾返回NULL遍历结束调用 closedir 关闭目录流释放资源。注意DIR目录流只用于遍历目录不能拿来读写普通文件。路径与目录操作getcwd 获取进程当前工作目录。chdir 修改进程自身的工作目录等价shell的cd命令只影响本进程不会改变外部shell环境。mkdir 创建目录 rmdir 仅可以删除空目录目录内存在文件则调用失败。unlink 删除文件。本质是减少文件硬链接计数计数归零文件才真正释放。如果文件已经被程序打开调用unlink之后数据依旧可以读写关闭文件描述符之后文件才会真正销毁。重点总结目录遍历固定流程 opendir → readdir循环 → closedir 。chdir修改的是进程内部工作路径不会影响终端shell。unlink不会立刻销毁已经被打开的文件硬链接计数机制是核心。rmdir只能删除空目录含有内容的目录无法删除。DIR目录流、文件描述符fd两套对象用途完全分开不可混用。
返回列表