2009-11-20 6 views
2

Pour une raison quelconque ncurses n'aime pas stdin, je sais que je pourrais utiliser à la place getStr(), voilà ce que je fais jusqu'à présent,NCurses stdin en C

while (fgets(str, BUF, stdin) != NULL) { 
    printf("input something "); 
} 

Comment pourrait J'ai une alternative à stdin pour cette boucle (peut-être en utilisant getstr())?

Toute aide sera en mesure d'apprécier.

Merci

+0

Je pense que vous avez répondu à votre propre question. Y a-t-il quelque chose en particulier que vous cherchez qui rend 'getstr()' une option inférieure? – LnxPrgr3

Répondre

1

Vous pouvez utiliser getstr() pour lire de stdin à un tampon. Vérifiez les curses HOWTO pour des exemples.

#include <ncurses.h> 
#include <string.h> 

int main() { 
    char buf[80]; 

    initscr(); 

    do { 
     getstr(buf); 
     mvprintw(5, 0, "You entered: %s", buf); 
    } while (strcmp(buf, "STOP")); 

    endwin(); 

    return 0; 
} 
1

Pour capturer l'entrée en utilisant ncurses, j'utiliser une des 3 fonctions en fonction de vos besoins:

getch() pour les caractères, scanw() pour l'entrée FORMATTé enfin getstr()