TheBest Geschrieben 4. Dezember 2005 Teilen Geschrieben 4. Dezember 2005 Hallo Ich soll für die Schule ein Programm schreiben (Zeichenweise Ein- und Ausgabe in Datein). So, ich bin so weit gekommen, dass ich char Feld anlege und den Text darüber einlese und dann Zeichenweise über fputc() einlese. Nur irgendwie liest er nur das erste Wort ein, und in der Datei ist nach diesem Wort irgendwelcher 'Unsinn' dabei. Kann mir jemand helfen??? Danke schon mal im voraus.... #include<stdio.h> #include<iostream.h> void main() { FILE *f; char a[100]; int i=0; f=fopen("L:\\Test\\eins.txt","w"); cout<<"Bitte einen Text eingeben (mit Enter beenden):\n"<<endl; cin>>a; for(;i<=200;i++) { if(a[i]!='\r') { fputc(a[i],f); } else { break; } } fclose(f); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MichiBert Geschrieben 4. Dezember 2005 Teilen Geschrieben 4. Dezember 2005 Du vermischst in Deinem Quellcode verschiedene Standards. Ich denke, Du solltest erstmal nur den Ansi-C Standard verwenden. Das Ganze sieht dann so aus: #include <stdio.h> #include <stdlib.h> main() { FILE *f ; char a[100] ; int i ; f = fopen("datei.txt","w") ; system("CLS") ; printf("Bitte einen Text eingeben (mit Enter beenden):\n\n") ; gets(a) ; for(i = 0; i <= 200; i++) { if(a[i]!= '\0') { fputc(a[i],f); } else { break ; } } fclose(f); printf("\n\n----------------\nDas Programm ist beendet.\n\n") ; system("PAUSE") ; } Der Fehler war allerdings nur, dass Du in Deinem char-Array nicht nach der Null-Terminierung gesucht hast, sondern das ganze Array in die Datei geschrieben hast. Da steht dann natürlich nur Murks drin. Versuch's mal so, wie ich es gemacht habe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TheBest Geschrieben 4. Dezember 2005 Autor Teilen Geschrieben 4. Dezember 2005 Danke für die Hilfe. Ich kann mich jedes mal aufs neue ärgern, wenn es so 'primitve' Fehler sind.... 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.