nur ein Zeichen wir geschrieben
-
Hi zusammen
ich hab da ein Programm geschrieben das wenn ich in der Console etwas schreibe, das in ein Text File schreibt!!
Mit Zahlen geht das ja ganz gut, aber mit zeichen nich so!! Wenn ich Zeichen schreibe schreibt er mir nur das ERSTE Zeichen in das Text File!!
Hier der Code:
#include <stdio.h> main() { char c; FILE *ptr; ptr = fopen("/daten/testdata/t3","a"); scanf("%c", & c ); fprintf(ptr,"%c",c); fclose(ptr); }
Vieleicht findet ihr ja denn Fehler!
Scho ma Danke
SEF
-
loesche '&' im scanf statement !
-
loesche '&' im scanf statement !
Das alleine reicht nicht und ist daher falsch. Das führt zum Absturz des Programms.
Wenn du eine Zeichenkette speichern willst, dann musst du statt %c(=Zeichen) %s(=String) nehmen:
char c[20] // Reserviere Speicher für 20 Zeichen vom Typ CHAR
...
scanf("%s", c ); // Einlesen...
fprintf(ptr,"%s",c); // Ausgeben...
...
-
Da sind mehrere Fehler drin, so sollte es funktionieren
#include <stdio.h> int main() { char string[128+1];// das +1 ist eine Marotte von mir um den üblichen Fehler zu // vermeiden das für die schließende Null kein Platz mehr da ist. FILE *ptr; ptr = fopen("/daten/testdata/t3","a"); scanf("%s", string); // oder gets(string));/ fprintf(ptr,"%s",string); fclose(ptr); return 0; }