我试图读取目录中的所有文件。我有以下代码:Visual C++的问题:读取目录中的所有文件
void scanDirectory(char* dir)
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
char DirSpec[MAX_PATH]; // directory specification
strcpy(DirSpec, dir);
strcat(DirSpec, "\\*");
hFind = FindFirstFile(DirSpec, &FindFileData);
int i = 0;
do {
i++;
printf("%d \n", i);
if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
printf(" %s <DIR>\n", FindFileData.cFileName);
}
else
{
printf("File %s\n", FindFileData.cFileName);
}
} while(!FindNextFile(hFind, &FindFileData));
FindClose(hFind);
}
问题是,当我执行代码时,会导致无限循环。输出字符也很奇怪,比如“File”。
您可以发布您正在获取的输出样本 – Greenhorn 2011-04-20 09:42:50
什么是您传递的目录路径? – jfs 2011-04-20 10:13:22
你应该真的在这个时代使用广泛的API。 – rubenvb 2011-04-20 10:54:02