写点什么

用 c 语言写一个目录遍历程序

作者:linux大本营
  • 2023-04-26
    湖南
  • 本文字数:564 字

    阅读完需:约 2 分钟

以下是一个简单的用 C 语言编写的目录遍历程序:


#include <stdio.h>#include <stdlib.h>#include <dirent.h>
void listdir(const char *path) { struct dirent *entry; DIR *dir = opendir(path);
if (dir == NULL) { return; }
while ((entry = readdir(dir)) != NULL) { char fullpath[1024]; snprintf(fullpath, sizeof(fullpath), "%s/%s", path, entry->d_name);
if (entry->d_type == DT_DIR) { if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) { continue; } printf("%s/\n", fullpath); listdir(fullpath); } else { printf("%s\n", fullpath); } }
closedir(dir);}
int main(int argc, char **argv) { if (argc != 2) { printf("Usage: %s [directory]\n", argv[0]); return -1; }
listdir(argv[1]);
return 0;}
复制代码


这个程序会遍历指定目录下的所有文件和子目录,列出它们的完整路径。请注意,这个程序没有进行错误处理或过滤器校验,建议在其他程序中使用时进行改进。


相关技术视频教程:c/c++ linux服务器开发/后台架构师免费学习地址

c/c++后端技术交流群:579733396

用户头像

还未添加个人签名 2020-11-26 加入

C/C++linux服务器开发群 812855908

评论

发布
暂无评论
用c语言写一个目录遍历程序_C语言_linux大本营_InfoQ写作社区