文件无法打开 - c ++

时间:2014-05-04 21:11:07

标签: c++ visual-studio-2010 file-io windows-7 ifstream

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\\*,则会打开文件进行阅读..

为什么会这样?它与访问权限有关吗?但我是自己系统的管理员。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否检查过失败的文件名?并非您从FindFirstFile / FindNextFile获得的所有内容都是文件名 - 您可能会获得一个子目录。