[C] String endet nach erstem Leerzeichen

Hi!
Ich hab ein Problem mit printf/scanf: Der eingegebene String beim ersten Leerzeichen NULL-terminiert und somit kann ich den Rest nicht mehr gebrauchen! Also zb:
"Das ist ein String"
Dann steht in der Variable nur noch "Das" :(
Bitte um Hilfe!
Thx im Vorraus
 
Manpage zu scanf:
Code:
 s            Findet  eine  Folge von Zeichen, die keinen Leerraum darstellen;
              der nächste Zeiger muß Zeiger auf char sein, und  das  Feld  muß
              groß  genug  sein um die Folge und das abschließende NUL Zeichen
              aufzunehmen.  Der Eingabestring stoppt an Leerräumen oder an der
              maximalen Feldgrößen, je nachdem, was zuerst auftritt.

Nimm doch einfach fgets, zwar bissel unsicher, aber für die ersten Schritte sicher zu gebrauchen.
 
Erst mal danke für die Antwort!
fgets würd ich gern verwenden, allerdings is das zum Einlesen von Dateien, ich möchte aber nur einen String einlesen (per Eingabe).
Wie mach ich das?
 
Na ja, gets ist ein bisschen unsicher, weil es nicht überprüft ob genügend Speicher zur Verfügung steht.

Da ist fgets doch sicherer. Du gibst als FILEPOINTER einfach stdin ein.

fgets(meinString, sizeof(meinString), stdin);
 
Zurück