Question

Je lis depuis l'entrée standard en utilisant l'appel système de lecture () mais il y a une petite chose qui me dérange. Je ne peux pas utiliser les touches fléchées ... Ce que je voulais vraiment faire était d'utiliser les touches fléchées pour aller et venir dans le texte tapé, mais je pense que c'est pas facile ... Alors, ce que je veux au moins faire , est de les ignorer.

En ce moment, en appuyant sur une des touches fléchées produit une sortie étrange et je veux empêcher quoi que ce soit d'être écrit à la sortie standard (par conséquent lu depuis l'entrée standard dans mon appel système de lecture ()).

Est-ce possible d'atteindre facilement ou il est pas facile?

Était-ce utile?

La solution

Pour interpréter les touches fléchées la façon dont vous idéalement que (par exemple pour se déplacer en arrière et modifier l'entrée), vous devez généralement utiliser une bibliothèque. Pour Linux, la norme est GNU Readline . Espérons que quelqu'un d'autre peut dire ce que vous utilisez normalement pour une application de Windows CLI.

Autres conseils

La réponse dépend en fin de compte d'où viennent les clés de. J'ai couru ce programme sous Cygwin:

int main(void)
{
    int c=0;

    while( c != 'X' ) {
        c = getchar();
        printf("\nc=%d", c);
    }
}

Chaque fois qu'une touche de curseur vient, je vois échapper (27), un support, plus un autre caractère. Donc, si vous obtenez des résultats comme ça, vous pouvez sauter 3 touches chaque fois que vous voyez un 27. Vous pouvez également les regarder et les utiliser!

Comme mentionné précédemment, YMMV, en particulier pour les pouvant être élué, et la fonction clé obtenir réelle que vous appelez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top