scanf mit Strings



  • Hallo,

    habe mal eine Frage zu Strings

    habe folgendes:

    char buf[256];
    
    prinff("Bitte Vor und Nachnamen eingeben");
    scanf("%s",buf);
    
    printf("\n String ist: %s",buf);
    

    leider wird nur der Vorname ausgegeben. Er schneidet mir den String ab, wie
    umgehe ich das?



  • falsches Board



  • ich will mal nicht so sein: man: scanf("%s",x) liest alles bis zum nächsten Whitespace (Leerzeichen, Tab, \n) in deinen String ein. Du könntest z.B. "%[^\n]" verwenden, dann liest er alles bis zum Zeilenende. Oder du baust dir eine eigene Leseschleife mit getc() auf, die zeichenweise einliest, bis du zufrieden bist.

    (wenn du C++ verwenden kannst empfehle ich cin.getline())


Anmelden zum Antworten