gpt4 book ai didi

c - 在 Windows 上获取目录中的每个文件

转载 作者:可可西里 更新时间:2023-11-01 10:27:04 28 4
gpt4 key购买 nike

我目前正在处理一个 C 项目,我需要扫描一个目录并获取该目录中每个文件的文件名。代码需要在 Windows 和 Linux 上运行。我有使用以下代码的 linux 版本。

DIR *dp;
int i = 0;
struct dirent *ep;
char logPath[FILE_PATH_BUF_LEN];
sprintf(logPath, "%s/logs/", logRotateConfiguration->logFileDir);
printf("Checking pre existing log count in: %s\n", logPath);
dp = opendir(logPath);

if (dp != NULL)
{
while ((ep = readdir(dp)) != NULL)
{
if (strcmp(ep->d_name, ".") != 0 && strcmp(ep->d_name, "..") != 0)
{
i = i + 1;
}
}
closedir(dp);
}
else
{
perror("Couldn't open directory");
}
logRotateConfiguration->logCount = i;

为了让这段代码正常工作,我使用了 #include <dirent.h>但发现这与 Windows 不兼容。因此,在我的头文件中,如果在 Linux 上,我使用了 ifdef 来包含 dirent.h,但不确定在 Windows 上我可以使用什么。

感谢您提供的任何帮助。

最佳答案

要在 Windows 上列出文件,您可以使用 FindFirstFile()FindNextFile() .有关示例,请参见 Listing the Files in a Directory .

关于c - 在 Windows 上获取目录中的每个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12913788/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com