ifstream Datei nicht öffnen

In dieser Funktion versuche ich, eine Datei zu öffnen, die enthält eine Reihe von Zeichen, die ich zuordnen will meine matrix-array, aber wenn ich dieses Programm ausführen, zeigt die Konsole eine Fehlermeldung, die besagt, dass die Datei nicht geöffnet ist. Eine andere Frage, wenn ich die Datei auf mein Ressourcen-Ordner wie kann ich festlegen für den Zugriff auf diese Datei und nicht die, die ich in den root meiner Festplatte?

ifstream readSecondMap("C:\\map_2.txt", ifstream::in);

void Stage::populateStage(ifstream &myStage, char (&myArray)[mapXcor][mapYcor]) {
    if(myStage.is_open()){
        for(int a = 0; a < mapXcor+1; ++a){
            for(int b = 0; b < mapYcor+1; ++b){
                myArray[a][b] = (char) myStage.get();
            }
        }
        myStage.close();        
    } else {
        std::cout << "Error: Unable to open File" <<std::endl;
    }
}
Können Sie eine minimale, vollständig und kompilierbar Testfall, der das problem veranschaulicht?
Wenn dies windows vista oder höher, user access control ist wohl das Problem.
Stellen Sie sicher, C:\\map_2.txt vorhanden ist und das Programm darauf zugreifen können.Das zweite problem kann gelöst werden, indem Sie den relativen Pfad: eg: ../resource/map_2.txt
Verwenden Sie in visual studio im debug-Modus durch Zufall?
Haben Sie die richtigen Berechtigungen zum schreiben in das Verzeichnis.

InformationsquelleAutor Daniel Sega | 2013-04-12

Schreibe einen Kommentar