readdir 函数用于读取目录中的文件和子目录。要限制读取的文件数量,您可以使用一个计数器来跟踪已读取的文件,并在达到所需数量时停止读取。以下是一个使用 readdir 的示例,限制读取的文件数量为 N:
#include <stdio.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *entry;
int count = 0;
int max_files = N; // 设置要读取的最大文件数量
dir = opendir("."); // 打开当前目录
if (dir == NULL) {
perror("opendir");
return 1;
}
while ((entry = readdir(dir)) != NULL && count < max_files) {
printf("%s\n", entry->d_name);
count++;
}
closedir(dir);
return 0;
}
在这个示例中,我们首先打开当前目录(.),然后使用 readdir 函数循环读取目录中的条目。我们使用一个计数器 count 来跟踪已读取的文件数量,并在达到 max_files 时停止读取。最后,我们关闭目录并退出程序。
请注意,这个示例仅适用于 POSIX 兼容的系统(如 Linux 和 macOS)。如果您使用的是 Windows,您需要使用 _findfirst、_findnext 和 _findclose 函数。