Datei öffnen (Linux) geht nicht!

04/17/2012 19:15 C or C++#1
Ich will gern eine Datei unter Linux öffnen nur geht das leider nicht.

Hier der Code mit dem ich es versucht habe
Code:
#include <iostream>
#include <fstream>


int main()
{
std::ofstream outfile("/home/abcd/Arbeitsfläche/neu.txt");
return 0;
}
(so wurde es im buch gesagt nur klappt es bei mir halt nicht)

Danke im vorraus!
04/17/2012 19:42 xNopex#2
Existiert denn überhaupt das verzeichnis?

EDIT: Warum bist du dir eig. so sicher, dass die Datei nicht geöffnet wird? Du überprüfst das im Code nichmal.
04/17/2012 20:17 C or C++#3
Das verzeichnis ist bestimmt korrekt weil ich es von der Datei also ich habe auf Eigenschaften geklickt und von da den Pfad kopiert und ja ich habe den Code überprüft.
04/17/2012 20:33 xNopex#4
Naja so wie das da steht müsste die Datei in:

Pfad zur Exe+"/home/abcd/Arbeitsfläche/neu.txt"

liegen. Oder du gibst den Pfad eben absolut an. Ne du überprüfst scheinbar nicht im Code, ob die Datei geöffnet wurde.. Da steht genau eine Zeile und dann dein return.. Man könnte fast meinen du wärst so dummdämlich und denkst, dass die Datei damit in nem Editor geöffnet wird..
04/17/2012 20:51 ms​#5
Der Pfad ist absolut.

Du überprüfst wie mein Vorposter schon sagte nirgendwo, ob die Datei überhaupt geöffnet wurde.
04/18/2012 06:53 Tyrar#6
meine beiden vorposter habens schon gesagt

Code:
std::ofstream outfile("/home/abcd/Arbeitsfläche/neu.txt");
if(outfile.bad()) std::cout << "." << std::endl;
else std::cout << "-" << std::endl;
04/18/2012 21:29 MrSm!th#7
Hast du überhaupt Schreibrechte auf die Datei?

@Nopex ein / am Anfang ist absolut.
Wäre es im selben Verzeichnis wie die Exe (also quasi home ein Unterverzeichnis), dann wäre dort kein / am Anfang sondern direkt "home/...".