ncurses Menüs - nicht meinen Benutzer eingegebene Zeichenfolge angezeigt
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;
}
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