Problem mit "fopen".
-
#include <stdio.h> int main() { FILE *datei; /* Bitte Pfad und Dateinamen anpassen */ datei=fopen("test.txt","r"); if(datei==NULL) { printf("Konnte Datei \"test.txt\" nicht öffnen!\n"); } return 0; }
Ich versuche damit eine Text-Datei zu öffnen.
Der Zeiger liefert kein NULL-Wert zurück, aber er will die Datei
einfach nicht öffnen.
Kein Plan warum.
Kann mir einer helfen???
-
*beep*
verlesen gehabt..
dein programm stimmt haargenau.. mehr kann es nicht tun
[ Dieser Beitrag wurde am 15.06.2003 um 22:59 Uhr von elise editiert. ]
-
Die Datei liegt in einen anderen Ordern.
Habe aber den genauen Pfad angegeben und auch alles richtig geschrieben.
Kanns vielleicht an Linux liegen?
-
Woran siehst du denn, dass die Datei nicht geöffnet wurde? Wenn, wie du schreibst, datei != NULL, dann muss sie offen sein.
-
-
Poste doch mal bitte deinen ganzen Code....
Denn das Stückchen, das du gepostet hast ist, wie schon geschrieben wurde, richtig.mfg grottenolm
-
Original erstellt von <Ball>:
Der Zeiger liefert kein NULL-Wert zurück, aber er will die Datei
einfach nicht öffnen.Wenn die Funktion kein NULL zurückliefert ist die Datei offen!
[ Dieser Beitrag wurde am 15.06.2003 um 23:15 Uhr von Hepi editiert. ]
-
fragen wir doch einfach mal, was er angibt, vorzugeben, was passieren müsste?
-
#include <stdio.h> int main() { FILE *datei; /* Bitte Pfad und Dateinamen anpassen */ datei = fopen("home/ball/test.txt","r"); if(datei==NULL) { printf("Konnte Datei \"test.txt\" nicht öffnen!\n"); } return 0; }
Die Datei existiert und auch alles richtig geschrieben.
Die Berechtigungen sind auch alles gesetzt.
-
Es ist alles richtig eingegeben.
Das einzigste Problem ist, dass er die verdammte Datei nicht öffnen will
Ich hab echt kein Plan warum.
Hab alles richtig eingegeben.
-
Komisch bei mir funzt das!
Wenn Datei == NULL
Konnte Datei nicht oeffnenKann das sein das du die Darstellung meinst, die kann so nicht erfolgen!
datei = fopen("text.txt", "r"); while(!feof(datei)) printf("%c",fgetc(datei));
So bekommst du die Darstellung
-
@elise
*ROFL*@Ball
Der Code erstellt nur einen Datei Deskriptor(ganzzahlige ID), mit dem du auf das entsprechende File zugreifen kannst.
Wenn du zB. etwas auslesen willst, könntest du fgets verwenden. Wobei es natürlich auch andere Funktionen dafür gibt.char *fgets(char *s, int size, FILE *stream);
man fgets
Oder/und pronix.dedatei = fopen("home/ball/test.txt","r");
Hier fehlt übrigens das /...
mfg grottenolm
-
Tatsache jetzt geht das
Danke DarkYe
-
-
arrg...das kommt davon, wenn man sich mitten im verfasssen des Postings 'ne Cola holt...
-
arrg...das kommt davon, wenn man sich mitten im verfasssen des Postings 'ne Cola holt...
Eigentlich wars ne Fanta, aber egal
-
Mhhh, eigentlich meinte ich mich damit...
mfg grottenolm
-
Asso
Nadann mal Guten Durst
-
Original erstellt von <grottenolm>:
Der Code erstellt nur einen Datei Deskriptor(ganzzahlige ID), mit dem du auf das entsprechende File zugreifen kannst.Nope, der Code füllt eine Variable der Struktur FILE, wo mehr als nur der FD drin steht (EOF/Fehler-Flags, Adresse des Puffers, Pufferzeiger, Puffergröße, Position des Schreib-/Lesezeigers, FD). Bei systemnahen Funktionen wie open() wird nur ein FD zurück gegeben, aber nicht bei den ANSI-C - Funktionen.
[ Dieser Beitrag wurde am 16.06.2003 um 09:51 Uhr von RTC editiert. ]
-
Es lag mir auf der Zunge
Aber egal...sorry für die teilweise falsche Information und danke für die Berichtigung...mfg grottenolm