KDevelop fstream



  • Hallo,

    ich programmiere gerade mein erstes Projekt unter Linux. Ich muss eine Datei einlesen und wollte das mit fstream erledigen.
    Nun habe ich das Problem, dass die Datei nicht gefunden wird. Mein Code:

    std::string filename;
    filename="/Matrices/matrix1.mtx";
    std::fstream file(filename.c_str());
    if (file)
    {
    	std::string temp;
    	std::getline(file, temp);
    	std::cout << "Zeile aus Datei: " << temp << std::endl;
    }
    else
    {
    	std::cout<<"Fehler: Datei " << filename << " konnte nicht geöffnet werden!" << std::endl;
    }
    

    Die Datei befindet sich im Verzeichnis
    ./home/martin/Dev/seminar/Matrices/Matrices/

    Ich programmiere unter KDevelop. Das Projektverzeichnis ist
    ./home/martin/Dev/seminar

    Es wird aber keine Datei gefunden und geöffnet. Kann mir jemand einenTipp geben?

    Gruss,

    Karl



  • hi,
    wenn du willst, das der path relativ zum verzeichnis ist, in welchem du das programm ausfuehrst, dann muss es "bla/blub..." heissen, also ohne '/' am anfang.

    mfg,
    was auch immer



  • Wie finde ich heraus, was der aktuelle Pfad, auf den sich alle relativen Pfade beziehen, ist? Gibt es da einen Befehl, der diesen Pfad liefert, so dass ich mir den mal ausgeben kann?

    Gruss,
    Karl



  • man 3 getcwd

    Falls du noch neu bist, mit "man 3 getcwd" schaut man sich das Handbuch zum Befehl getcwd in der Section 3 an.



  • Ponto schrieb:

    man 3 getcwd

    Falls du noch neu bist, mit "man 3 getcwd" schaut man sich das Handbuch zum Befehl getcwd in der Section 3 an.

    Dafür gibt es doch Manpage Tags [man]getcwd(3)[/man ] (ohne die Leerzeichen vor dem ]) => [man]getcwd(3)[/man] 🙂


Log in to reply