以下是该计划:
#include <stdio.h>
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
const char c[] = "C:\\Users\\*.*";
hFind = FindFirstFile(c, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf("FindFirstFile failed (%d)\n", GetLastError());
return 1;
}
else
{
cout << "The first file found is " << FindFileData.cFileName << endl;
}
for (int i = 0; i < 12; i++)
{
if (!FindNextFile(hFind, &FindFileData))
{
printf("FindNextFile failed (%d)\n", GetLastError());
}
else
{
cout << "The next file found is " << FindFileData.cFileName << endl;
}
}
FindClose(hFind);
return 0;
}
打印出来:
无论我转到哪个目录,它总是用文件打印前两行。和..?那是为什么?
答案 0 :(得分:4)
所有目录都包含这些目录。
&#39;。&#39;和&#39; ..&#39;有特殊意义......如果你不需要它们,那就干掉吧。
示例:来自Linux
dmn@DM5:~$ ls -lsa
total 3144
4 drwxr-xr-x 87 dmn dmn 4096 Jun 23 09:43 .
4 drwxr-xr-x 5 root root 4096 Jan 3 08:43 ..
.... and lots more strings
答案 1 :(得分:2)
这些是特殊的类似linux链接的文件,代表当前和父目录。有关详细信息,请参阅this answer。