2016-07-19 105 views
-2

我有管理權限,我試圖打開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

回答

0

這可能是因爲這樣的:

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

這實際上應該是:

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

你只是錯過了一個空白。

+1

如果問題的答案是「您犯了一個錯字」,請標記爲關閉該問題而不是回答問題。 –