std :: ifstream无法打开文件在C:\程序文件(x86)

问题描述:

我有管理权限,我试图打开Windows下的c:\ program files(x86)下的文件。 std :: ifstream无法打开,错误号码显示为2.如果我将同一个文件复制到其他位置,它的工作正常。std :: ifstream无法打开文件在C:程序文件(x86)

#include <iostream>  
#include <cerrno>   
#include <string> 
#include <fstream> 
int main() 
{ 
    std::ifstream ifs1("C:\\Program Files(x86)\\somefile.html"); 
    if (ifs1.is_open()) 
    { 
     std::cout << "File opened\n"; 
    } 
    else 
    { 
     std::cout << "File open failed. error number = " << errno << std::endl; 
    } 
    return 0; 
} 

是否因为许可问题?

+3

它是'Program Files(x86)'而不是'Program Files(x86)'。你错过了一个空白。 – DimChtz

+0

@DimChtz - 如果这是一个答案,请张贴它。 (Ps。我认为这是一个很好的答案,很可能是正确的。) –

+0

@Robᵩ如果它只是一个缺失的空间,那么不应该回答它应该被封闭投票。 – NathanOliver

这可能是因为这样的:

"C:\\Program Files(x86)\\somefile.html" 

这实际上应该是:

"C:\\Program Files (x86)\\somefile.html" 

你只是错过了一个空白。

+1

如果问题的答案是“您犯了一个错字”,请标记为关闭该问题而不是回答问题。 –