Schneeflocke Geschrieben 14. Januar 2003 Teilen Geschrieben 14. Januar 2003 Hallo Zusammen, ich habe folgenden Programmcode: :mod: #include <stdio.h> #include <string.h> struct telefon { char nummer[16]; char adresse[128]; }; struct telefon daten[256]; void main() { FILE *f; char zeile[80]; char tn[16]; char ad[128]; f = fopen("c:\MeineDateien\Telefonauskunft.dat", "r"); while(fgets(zeile, 79, f) != NULL) { printf("%s", zeile); // schreibt Inhalt in Array *?* strcpy(daten[16].nummer, tn); // füllt struktur tn strcpy(daten[128].adresse, ad); // füllt struktur ad } fclose(f); } ich bekomme immer eine Fehlermeldung: debug assertion failed File: fgets.c Line 60 Expression str != NULL Nur: die Datei gibt es nicht auf meinem Rechner...was is falsch oder kann man sowas unterdrücken?? Help! Flöckchen :StefanE Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 14. Januar 2003 Teilen Geschrieben 14. Januar 2003 f ist NULL. Du musst den Rückgabewert von fopen auf != NULL prüfen. Die Ursache ist, dass du die Backslashes im Pfad nicht verdoppelt hast: f = fopen("c:\\MeineDateien\\Telefonauskunft.dat", "r"); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schneeflocke Geschrieben 14. Januar 2003 Autor Teilen Geschrieben 14. Januar 2003 Hi.. in der fopen Zeile oder wo meinst du das mit den \\ ? Ciao und Danke SF :StefanE Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SgtBadAzz Geschrieben 16. Januar 2003 Teilen Geschrieben 16. Januar 2003 Originally posted by Schneeflocke Hi.. in der fopen Zeile oder wo meinst du das mit den \\ ? Ciao und Danke SF :StefanE In fopen , denn ein einziger \ ist die Einleitung einer Escape-Sequenz. Findet man aber auch in jedem C-Buch wenn man es denn mal liest ;-). Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.