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++?
Répondre
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.
Merci pour l'aide les gars. Une très bonne information. Je vais y aller et vous laisser savoir comment je m'entends :). – user319940
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.
- 1. Caractère littéral en C#
- 2. Problème avec le caractère entré par getchar() ou getche()
- 3. Comment ajouter automatiquement le domaine EMAIL au champ entré
- 4. Cococa Touch - Vérification de chaque caractère entré
- 5. changer de fond d'écran automatiquement en android
- 6. UITextField ne mettra pas automatiquement en majuscule tout le projet
- 7. Droite d'un caractère en C#
- 8. Comment vous assurer qu'aucun caractère Unicode non-ASCII n'est entré?
- 9. En C++ comment retourner l'index d'un tableau si l'utilisateur entré correspond au tableau entré?
- 10. Comment désactiver R de changer le caractère "-" en '.' caractère lors de l'écriture dans un fichier?
- 11. erreurs C++ tout en compilant
- 12. Comment changer le papier peint en c en utilisant winapi?
- 13. Changer la couleur d'un caractère
- 14. changer de type en C#
- 15. Le tableau Mutable est automatiquement changé en immutable, tout en y ajoutant l'objet. Pourquoi?
- 16. Accès Fonction Variable Après avoir appelé tout en étant en main()
- 17. Tout sélectionner sauf le premier caractère d'une chaîne
- 18. Ouvrir le fichier journal de roulement tout en étant écrit dans
- 19. Document.write étant mis en cache
- 20. NHibernate renommer automatiquement le nom de la colonne en C#
- 21. en passant le caractère spécial
- 22. C# Remplacer le caractère générique
- 23. concaténer la chaîne en caractère C#
- 24. Problème - changer la taille des conteneurs automatiquement en Java
- 25. Différence entre l'octet et le caractère en C
- 26. comment changer le format de l'heure à 24hrs? en C#
- 27. vérifier si le nombre entré est un chiffre en jquery
- 28. en comparant plusieurs chaînes caractère par caractère et en produisant le chevauchement?
- 29. Changer CSS3 traduire tout en conservant d'autres valeurs?
- 30. Existe-t-il un moyen facile de changer un caractère dans une chaîne en C#?
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. –
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