J'ai stdin dans un select()
ensemble et je veux prendre une chaîne de stdin chaque fois que l'utilisateur tape et frappe Entrez.ncurses et le blocage stdin
Mais sélectionnez déclenche stdin comme prêt à lire avant Entrez est touché, et, dans de rares cas, avant tout est tapé du tout. Cela bloque mon programme sur getstr()
jusqu'à ce que je frappe Entrez.
J'ai essayé le réglage nocbreak()
et c'est parfait vraiment, sauf que rien ne se répercute à l'écran, donc je ne peux pas voir ce que je tape. Et le réglage echo()
ne change pas cela.
J'ai également essayé d'utiliser timeout(0)
, mais les résultats étaient encore plus fous et ne fonctionnaient pas.
bien au fond, je me demande si je dois utiliser des fils maintenant à cause de ncurses, parce que je peux faire ça, mais ce n'est pas aussi élégant que d'utiliser select. La seule autre option à laquelle je peux penser est de lire chaque caractère et d'en faire un traitement radical. Cela semble être encore plus désordonné. – graw