Text einlesen und in Datei abspeichern
-
Habe vor ein paar Tagen damit begonnen, mir die Programmiersprache für das Studium anzueignen und stehe nun auf dem Schlauch: Immer, wenn ich das Programm ausführe, schließt Windows automatisch das Programm mit einer Fehlermeldung.
Das Programm soll Zeichen einlesen und in eine Datei abspeichern.#include <stdio.h>
#include <stdlib.h>main()
{
FILE *fp;
char letter;printf("Bitte einen Text eingeben! \n");
fp=fopen("Demo.txt", "w");do
{
scanf("%s", &letter); /*Zeicheneingabe*/
putc(letter, fp); /*Zeichen in Datei "Demo.txt übernehmen*/
}while
(letter= '\n'); /*Bis RETURN gedrückt wird*/fclose(fp);
system("PAUSE");
}
-
scanf("%s", &letter);
Mach aus dem s (steht für string) ein c (für character). Sonst versuchst Du eine Zeichenkette in eine Variable zu stopfen, die nur ein einzelnes Zeichen aufnehmen kann -> Speicherfehler.while (letter= '\n');
letter = '\n' ist eine Zuweisung, die immer true ist. D.h., die Schleife wird bis in alle Ewigkeit ausgeführt. Du meinst sicher while(letter != '\n');
-
@Student20 teste mal dieses Programm. Das sollte nach deinen Vorstellungen
funktionieren!#include <stdio.h> #include <stdlib.h> #define SIZE 100 //SIZE konstante deren Wert 100 ist kann je nach bedarf verändert werden main() { FILE *fp; char letter[SIZE]; //Ein Array mit Platz für SIZE(100) Zeichen printf("Bitte einen Text eingeben! \n"); fp=fopen("Demo.txt", "w"); fgets(letter,SIZE,stdin); /*Zeicheneingabe*/ fputs(letter,fp); /*Zeichen in Datei "Demo.txt übernehmen*/ fclose(fp); system("PAUSE"); return(0); }
mfg hohesC