Schreiben in stdin



  • Hallo,

    ich möchte, dass der User einen Satz eingibt und möchte ihn einfach zum Test ausgeben lassen. Alles kein Problem. Ich möchte jedoch einen Standardsatz vorgeben und der User kann mit dem Pfeiltasten rum manovrieren und mit Enter wird der Satz übernommen. Wie mache ich das?

    Also quasi so als hätte der User den Satz eingetippt und nun bearbeitet er ihn wieder. Ich hoffe ihr versteht was ich meine. Ansonsten hier ein kurzes Bsp:

    char buffer[1024];
    fprintf( stdin, "Hallo Welt");  // das funktioniert nicht, aber wenn ...
    fgets( buffer, 1024, stdin );
    printf("Ihre Eingabe : %s, buffer);
    

    Wenn der User nur Enter eintippen würde, soll die letzte Anweisung für folgende Ausgabe sorgen:

    Ihre Eingabe : Hallo Welt
    

    Natürlich kann er den Satz >>Hallo Welt<< auch ändern und dann muss der jeweilig modifizierte Satz ausgegeben werden.

    VG



  • char buffer[1024];
    fprintf( stdin, "Hallo Welt");  // das funktioniert nicht, aber wenn ...
    fgets( buffer, 1024, stdin );
    printf("Ihre Eingabe : %s", buffer);
    


  • ist mit standard-c nach meinem wissen nicht zu machen.

    aber mit der windows-konsole oder der conio.h vom borland-compiler kannst du natürlich einen text ausgeben, den cursor (das caret 😃 ) zurück an den anfang setzen und mit den cursortasten über diesen text bewegen und die entsprechenden stellen im array verändern.



  • Ich habe mal für die Windows-Konsole ein Gerüst geschrieben, mit dem man leicht Eingabemasken in der Konsole darstellen kann. Es ist allerdings C++, kein C.
    Du findest es hier:

    https://www.c-plusplus.net/forum/290292



  • Belli schrieb:

    Ich habe mal für die Windows-Konsole ein Gerüst geschrieben, mit dem man leicht Eingabemasken in der Konsole darstellen kann. Es ist allerdings C++, kein C.
    Du findest es hier:

    https://www.c-plusplus.net/forum/290292

    mach doch c daraus.


Anmelden zum Antworten