2010-04-22 4 views
1

J'ai de la difficulté à résoudre ce problème. Fondamentalement, mon programme a une entrée standard, je veux modifier cela, donc si l'utilisateur entre dans un espace, il le remplace automatiquement par un/pendant qu'ils tapent. Je ne sais pas comment j'irais faire ça ou si c'est même possible, donc je suis reconnaissant pour toute aide de toute façon.Changer le caractère automatiquement tout en étant entré en C++?

+0

Ceci est possible mais nécessitera une bibliothèque potentiellement spécifique à la plate-forme, il serait donc utile de spécifier quel OS vous voulez programmer. –

+0

La saisie standard indique le texte uniquement. Si vous ne pouvez pas faire la même chose avec un fichier texte, vous ne pouvez pas le faire seul avec l'entrée standard. – zneak

Répondre

1

Vous devez désactiver l'écho des caractères saisis et les répercuter vous-même après les avoir validés, en remplaçant les caractères si nécessaire. Il y a différentes façons de le faire pour différents systèmes d'exploitation (par exemple Linux vs Windows), et encore plus malheureusement, cela peut signifier prendre le contrôle de tout l'écran juste pour cette fonction simple puisque la touche backspace/delete devrait être manipulée correctement (même sur plusieurs lignes si nécessaire). En bref, vous prenez le contrôle de l'utilisateur tout en vous rendant responsable des fonctionnalités communes attendues par l'utilisateur, ce qui rend les choses plutôt difficiles car vous ne pouvez pas savoir comment certains terminaux se comportent, sans parler des problèmes liés aux paramètres régionaux. Il est plus facile de remplacer les caractères vous-même après la réception de l'entrée ou d'émettre un message d'erreur, en fonction de votre objectif et de votre cas d'utilisation spécifique.

Modifier: PDCurses est multiplate-forme, donc vous pouvez essayer si vous êtes toujours intéressé. C'est plus facile que de coder pour des plateformes spécifiques.

+0

Merci pour l'aide les gars. Une très bonne information. Je vais y aller et vous laisser savoir comment je m'entends :). – user319940

2

Je crois que si vous voulez faire de la manipulation du texte sur la console comme ça, vous aurez besoin d'une bibliothèque comme ncurses.

Questions connexes