Forum: PC-Programmierung String einlesen, wird bei leerzeichen beendet


von extern (Gast)


Lesenswert?

hallo,

gibt es eine Möglichkeit in C, dass das String einlesen bei einem 
Leerzeichen nicht beendet wird?

von Peter II (Gast)


Lesenswert?

extern schrieb:
> gibt es eine Möglichkeit in C, dass das String einlesen bei einem
> Leerzeichen nicht beendet wird?

ja, einfach zeichenweise einlesen und selber entscheiden wann Schluss 
ist.

von foo (Gast)


Lesenswert?

Aufgrund der ähnlichen Frage vorhin gehe ich davon aus, dass du mit 
scanf("%s") einliest. %s ist so definiert dass es nur bis zu einem 
Whitespacezeichen einliest. Lässt sich nicht anders machen mit scanf, du 
musst eine andere Funktion verwenden.

fgets nimmst du, wenn du bis Newline einlesen möchtest.

fread nimmst du, um bestimmte Anzahl Bytes einzulesen.

von extern (Gast)


Lesenswert?

perfekt, nach gets habe ich gesucht!

von Dirk B. (dirkb2)


Lesenswert?

extern schrieb:
> perfekt, nach gets habe ich gesucht!

Hast du nicht!
gets ist deprecated, da es ein Sicherheitsproblem ist.
Nimm fgets auf stdin.
Allerdings speichert fgets das '\n' von der Entertaste mit ab.


Es gibt bei scanf auch den Formatspecifier %[ für ein scan-set.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.