एक सी ++ एप्लिकेशन के लिए, मैं stdin पर प्रोग्राम के अंत (ईओएफ) को कैसे प्रोग्राम कर सकता हूं?मैं stdin पर eof कैसे मजबूर कर सकता हूँ?
उत्तर
दरअसल, आप नहीं कर सकते। जब तक आप stdin से डेटा पढ़ सकते हैं, ईओएफ तक नहीं पहुंचा है, और वास्तव में आप इसे कभी नहीं पहुंच सकते हैं। हालांकि, आप को बंद कर सकते हैं। इसे बंद करने के लिए, ऐसा करते हैं:
fclose(stdin);
इस के बाद, आप stdin
से डेटा नहीं पढ़ सकते हैं।
यदि आप यूनिक्स जैसी प्रणाली में टर्मिनल पर हैं, तो Ctrl-D
पर क्लिक करें। विंडोज़ में, Ctrl-Z
।
संपादित करें: "प्रोग्रामेटिक रूप से" करने की इच्छा को देखते हुए, मैं fclose(stdin)
को आजमाने का सुझाव देता हूं। यदि किसी भी तरह से यह पर्याप्त नहीं है, तो वास्तविक पादरी के अलावा किसी अन्य चीज़ को संदर्भित करने के लिए स्ट्रीम सेट करने के लिए std::cin.rdbuf()
का उपयोग करने के लिए एक पागल विचार हो सकता है, और फिर वह स्ट्रीम करें जो आप चाहते हैं। लेकिन यह खराब गंध शुरू होता है, जैसे आप कंप्यूटर के खिलाफ लड़ रहे हैं, इसलिए मैं असली लक्ष्य क्या है इसके बारे में और जानना चाहता हूं।
विशेष रूप से इसके लिए बनाए गए प्रत्येक स्ट्रीम के लिए एक अच्छा छोटा फ़ंक्शन उपलब्ध है।
std::cin.setstate(std::cin.eofbit);
इस के लिए दस्तावेज़ बहुत सादा है लेकिन कुछ है:
stream.setstate(stream.flags)
तो अपने कोड में आप एक सरल शर्त यह है कि जैसे कुछ चलाता है हो सकता है:
यह वाक्य रचना है कुछ की तरह है cppreference.com और cplusplus.com पर।
- 1. stdin
- 2. कैसे कर सकता हूँ नुस्खा
- 3. एचटीएमएल: मैं कैसे कैसे कर सकता हूँ आईओएस-उपकरणों
- 4. मैं एक छवि पर एक div कैसे डाल सकता हूँ?
- 5. मैं PHP में जावास्क्रिप्ट decodeURI कैसे कर सकता हूँ?
- 6. मैं जावा में फेसबुक बैच fql कैसे कर सकता हूँ
- 7. stdin
- 8. मैं दोLineListItem कैसे बना सकता हूँ?
- 9. regex EOF
- 10. समुद्री डाकू, समुद्री डाकू, चोरी। मैं क्या कर सकता हूँ?
- 11. स्कैला में प्रारंभ होने पर मैं सरणी के प्रकार को कैसे मजबूर कर सकता हूं?
- 12. मैं urllib2 को समय-समय पर कैसे मजबूर कर सकता हूं?
- 13. बिना स्रोत के iframe - क्या मैं कर सकता हूँ?
- 14. stdin
- 15. मैं प्रक्रिया आईडी द्वारा प्रक्रिया की stdin कैसे प्राप्त कर सकता हूं?
- 16. stdin
- 17. मैं हास्केल में stdin कैसे रीसेट करूं?
- 18. मैं jQuery का उपयोग कर एक div कैसे फीका कर सकता हूँ?
- 19. क्या मैं stdin में बाइनरी डाल सकता हूं? सी #
- 20. डुनिट जीयूआई परीक्षण: क्या मैं 'एप्लिकेशन' को एक अलग "फॉर्म" पर मजबूर कर सकता हूं?
- 21. क्या मैं AssertionError पर डिबगिंग पायथन को मजबूर कर सकता हूं?
- 22. मैं WPF आवेदन के आइकन कैसे बदल सकता हूँ
- 23. मैं स्ट्रिंग से एक numpy सरणी कैसे बना सकता हूँ?
- 24. मैं जावा में एक यादृच्छिक BigDecimal कैसे बना सकता हूँ?
- 25. stdin
- 26. मैं कैसे पायथन का उपयोग कर लिनक्स में एक उपयोगकर्ता कैसे बना सकता हूँ अजगर
- 27. मैं एंड्रॉइड में एक combobox कैसे दिखा सकता हूँ?
- 28. मैं मनमानी Emacs बफर "छुपा" कैसे बना सकता हूँ?
- 29. एंड्रॉयड: मैं कैसे एक ProgressBar की ऊंचाई बदल सकता हूँ?
- 30. stdin
आपका मतलब है 'स्टडीन पर बल ईओएफ'? आप stdin (या cin) बंद कर सकते हैं। आप अपने लूप को एकतरफा समाप्त कर सकते हैं। आप फ़ाइल के अंत तक खोज सकते हैं (लेकिन यह टर्मिनल या पाइप इनपुट के रूप में मदद नहीं करेगा)। आप इस मुद्दे को 'फ्रीपेन()' के साथ मजबूर करने में सक्षम हो सकते हैं;/dev/null या NUL से पढ़ने के लिए मानक इनपुट को पुन: असाइन करें:। –