2016-07-19 12 views
-2

Ich habe Administratorrechte und ich habe versucht, die Datei unter C: \ Programme (x86) auf Windows zu öffnen. std :: ifstream konnte nicht geöffnet werden und die Fehlernummer wurde als 2 ausgegeben. Wenn ich die gleiche Datei an einen anderen Ort kopiere, funktioniert sie einwandfrei.Std :: Ifstream konnte Datei unter c: Programmdateien (x86) nicht öffnen

#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; 
} 

Ist es wegen Berechtigungsproblem?

+3

Es ist 'Programme (x86)' nicht 'Programme (x86)'. Du hast ein Leerzeichen verpasst. – DimChtz

+0

@DimChtz - wenn das eine Antwort ist, bitte posten Sie es als solche. (Ps. Ich denke, es ist eine ausgezeichnete Antwort, und sehr wahrscheinlich richtig.) –

+0

@ Robᵩ Wenn alles ist es ist ein fehlender Platz, dann anstatt zu beantworten sollte geschlossen werden abgestimmt werden. – NathanOliver

Antwort

0

Es ist wahrscheinlich aus diesem Grund:

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

die sollte eigentlich:

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

Sie verfehlten nur ein Leerzeichen.

+1

Wenn die Antwort auf eine Frage lautet "Sie haben einen Tippfehler gemacht", klicken Sie bitte darauf, die Frage zu schließen, anstatt sie zu beantworten. –

Verwandte Themen