C语言遍历文档和目录
时间: 2024-10-15 09:10:12 浏览: 30
在C语言中,直接遍历文件系统中的文档和目录通常涉及到操作系统的底层API,如Windows API或POSIX标准库中的函数,比如`opendir()`, `readdir()`, 和 `closedir()` 等。
`opendir()` 函数用于打开指定的目录,返回一个指向目录描述符的指针;`readdir()` 可以从打开的目录中读取一条条目录项,直到达到目录的结尾;最后,当你完成遍历时,需要使用 `closedir()` 来关闭目录描述符。
以下是一个简单的示例,展示如何遍历当前目录下的文件:
```c
#include <dirent.h>
#include <stdio.h>
void list_files_in_dir(char *dir_path) {
DIR *dp;
struct dirent *dent;
if ((dp = opendir(dir_path)) == NULL) {
perror("Error opening directory");
return;
}
while ((dent = readdir(dp)) != NULL) {
if (strcmp(dent->d_name, ".") && strcmp(dent->d_name, "..")) { // 忽略 "." 和 ".."
printf("%s\n", dent->d_name);
}
}
closedir(dp);
}
int main() {
char dir_path[] = "./";
list_files_in_dir(dir_path);
return 0;
}
```
在这个例子中,`main()` 函数会列出当前目录下除了"."和".."(当前目录和上一级目录)之外的所有文件名。
阅读全文