hFind = FindFirstFile(TEXT("C:\\Users\\*********\\Documents\\Visual Studio 2008\\Projects\\dreamwork\\dreamwork\\abc\\*"), &ffd);
if(hFind != INVALID_HANDLE_VALUE)
{
do
{
wcout << ffd.cFileName << " -- ";
ifstream inputFile (ffd.cFileName, ios::in);
wstring outName = TEXT("working\\");
outName += ffd.cFileName;
ofstream outFile (outName);
if (inputFile.is_open())
{
// files in abc directory are not opened for reading..
}
else
cout << "Unable to open file" << endl;
}while(FindNextFile(hFind, &ffd) != 0);
FindClose(hFind);
}
else
cout << "could not find 1st file only" << endl;
但如果我将基本路径更改为"C:\\Users\\*********\\Documents\\Visual Studio 2008\\Projects\\dreamwork\\dreamwork\\*
,则会打开文件进行阅读..
为什么会这样?它与访问权限有关吗?但我是自己系统的管理员。我做错了什么?
答案 0 :(得分:0)
您是否检查过失败的文件名?并非您从FindFirstFile / FindNextFile获得的所有内容都是文件名 - 您可能会获得一个子目录。