我試圖讀取目錄中的所有文件。我有以下代碼: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