ncurses Menüs - nicht meinen Benutzer eingegebene Zeichenfolge angezeigt

StackOverflow https://stackoverflow.com/questions/899876

  •  23-08-2019
  •  | 
  •  

Frage

Wenn ich eine Zeichenkette erstellen und auf das Menü hinzufügen, funktioniert alles einwandfrei. Aber wenn ich Eingabe einer Zeichenfolge vom Benutzer, dann ist das Menü „leer“. Ich weiß nicht, ob dies ein Fluch / Menü Problem ist, oder ein C Problem, da ich einen Anfänger an beide bin.

#include <curses.h>
#include <menu.h>
#include <malloc.h>

int main()
{
    MENU *my_menu;
    ITEM **my_items;
    char c;

// works
    char my_string[20] = "this is the string";

// user-inputted string, comment these 2 lines out to make this program work
    printf("enter something: ");
    fgets(my_string, 19, stdin);

    initscr();
    noecho();
    crmode();

    my_items = (ITEM **)calloc(2, sizeof(ITEM *));
    my_items[0] = new_item(my_string, my_string);
    my_items[1] = (ITEM *)NULL;
    my_menu = new_menu(my_items);

    post_menu(my_menu);
    refresh();

    while ((c = getch()) != 'q') { }

    free_item(my_items[0]);
    free_item(my_items[1]);
    free_menu(my_menu);

    endwin();

    return 0;
}
War es hilfreich?

Lösung

Das Problem war die ‚\ n‘ am Ende der eingegebenen Zeichenfolge. Entfernen, dass diese Arbeit machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top