TheBest Geschrieben 4. Dezember 2005 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); }
MichiBert Geschrieben 4. Dezember 2005 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.
TheBest Geschrieben 4. Dezember 2005 Autor Geschrieben 4. Dezember 2005 Danke für die Hilfe. Ich kann mich jedes mal aufs neue ärgern, wenn es so 'primitve' Fehler sind....
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden