est-il possible de vérifier s'il y a quelque chose dans cin? J'ai essayé peek() mais s'il n'y a rien peek() attend l'entrée et ce n'est pas ce que je veux. MerciComment vérifier s'il y a quelque chose dans cin [C++]
6
A
Répondre
5
Vous ne pouvez pas utiliser cin pour lire les séquences de touches, puis continuer à faire autre chose s'il n'y a rien de disponible, ce que je pense est ce que vous voulez. Cin est un flux tampon et ne fonctionne tout simplement pas de cette façon. En fait, il n'y a aucun moyen de le faire en utilisant Standard C++ - vous devrez utiliser des fonctionnalités spécifiques au système d'exploitation.
4
Les flux C++ et les streambufs sont synchrones, c'est-à-dire qu'ils bloquent jusqu'à ce qu'il y ait suffisamment de données à lire. Il n'y a pas de manière portable de vérifier un flux de manière asynchrone. Pensez à appeler peek() à partir d'un thread séparé.
Questions connexes
- 1. Il y a vraiment quelque chose comme Objective C++?
- 2. Comment vérifier si un include() a retourné quelque chose?
- 3. Vérifier si quelque chose a changé dans un déclencheur
- 4. Y a-t-il quelque chose comme PyFlakes pour PHP?
- 5. Comment vérifier quelque chose à intervalles réguliers?
- 6. Y a-t-il quelque chose comme Acegi pour PHP?
- 7. ASP.NET vérifier si LinqToEntities a renvoyé quelque chose ou non
- 8. Vérifier si mysql_query a retourné quelque chose ou non
- 9. Y a-t-il quelque chose comme un OutputStream roulant?
- 10. Y a-t-il quelque chose comme bpython pour Ruby?
- 11. Y a-t-il quelque chose comme SESAME pour OWL
- 12. Y a-t-il quelque chose comme! In_array()?
- 13. Y a-t-il quelque chose comme & nbsp pour '?
- 14. C#: Y at-il une différence entre (type) Quelque chose contre quelque chose comme type
- 15. Y a-t-il quelque chose comme la déclaration d'évaluation de Matlab dans Objective-C 2.0?
- 16. Y a-t-il quelque chose comme Character.digit de java (char ch, int radix) dans C#?
- 17. Y at-il quelque chose comme isClicked dans jquery?
- 18. Comment vérifier si l'itérateur STL pointe sur quelque chose?
- 19. NetworkStream, y a-t-il quelque chose de similaire à DataReceived pour un SerialPort? (C#)
- 20. C: Y a-t-il quelque chose de mieux qu'une implémentation FIFO Queue pour cette exigence?
- 21. Y a-t-il quelque chose de similaire à AutoMapper pour Objective-c?
- 22. Y a-t-il quelque chose comme getattr() de Python en C#?
- 23. Y a-t-il quelque chose comme 'with' de Python en C#?
- 24. Comment puis-je vérifier si quelque chose quitte l'écran? - JFrame
- 25. Quelque chose de mal en C++ Code
- 26. comment vérifier ce qu'il y a dans un objet javascript
- 27. Y a-t-il quelque chose comme des filtres dans ActionMailer?
- 28. vérifier s'il y a 0
- 29. Y a-t-il quelque chose comme des générateurs Python dans Ruby?
- 30. Y a-t-il quelque chose de similaire à l'énumération de python pour linq
Merci les gars pour vos réponses. –
Je pense que Standard autorise l'implémentation 'cin' qui passe en EOF si aucune entrée ne l'attend. Cependant, les bibliothèques standard de compilateurs que je connais (MS VS, Borland et GCC) ne fournissent pas une telle implémentation. (Je ne suis pas sûr parce que je ne sais pas si stream peut cesser d'être en EOF et c'est ce que 'cin' devrait faire à la frappe.) –
L'état d'eof est le résultat d'un échec de lecture - il a gagné Ne soyez pas mis à moins que vous ne lisiez. –