在Windows的x64环境下,你可以使用以下方法来遍历文件。
首先,在你的C++代码中包含以下头文件:
#include
#include
然后,你可以使用以下函数来遍历目录中的文件:
void TraverseDirectory(const TCHAR* directory)
{
WIN32_FIND_DATA fileInfo;
TCHAR buffer[MAX_PATH];
// 构建搜索路径
_tcscpy_s(buffer, directory);
_tcscat_s(buffer, _T("\\*.*"));
// 查找第一个文件/目录
HANDLE hFind = FindFirstFile(buffer, &fileInfo);
if (hFind != INVALID_HANDLE_VALUE)
{
do
{
// 排除 "." 和 ".."
if (_tcscmp(fileInfo.cFileName, _T(".")) != 0 && _tcscmp(fileInfo.cFileName, _T("..")) != 0)
{
// 输出文件名
_tprintf(_T("%s\\%s\n"), directory, fileInfo.cFileName);
// 如果是目录,则递归遍历子目录
if (fileInfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
_tcscpy_s(buffer, directory);
_tcscat_s(buffer, _T("\\"));
_tcscat_s(buffer, fileInfo.cFileName);
TraverseDirectory(buffer);
}
}
} while (FindNextFile(hFind, &fileInfo));
FindClose(hFind);
}
}
最后,在你的main函数中调用TraverseDirectory函数,并传入要遍历的目录的路径。
int _tmain(int argc, _TCHAR* argv[])
{
const TCHAR* directory = _T("C:\\Your\\Directory\\Path");
TraverseDirectory(directory);
return 0;
}
确保将 “C:\Your\Directory\Path” 替换为你要遍历的实际目录路径。
注意:以上代码是使用Unicode字符集构建的。如果你正在使用多字节字符集,请在项目属性中进行相应的更改。