CIN जब std::cin.getline()
इस्तेमाल किया जाना चाहिए? std::cin
से यह अलग क्या है?std :: cin.getline() बनाम std ::
उत्तर
char *, std::cin.getline
लाइन के साथ, std::cin
के बजाय पहली शब्द प्राप्त करने के मामले में।
क्या आप (जैसे http://www.cplusplus.com/reference/string/getline/) किसी भी दस्तावेज़ पढ़ें?
मूल रूप से, std::cin
(या अधिक आम तौर पर, std::istream
) प्रारूपित इनपुट प्राप्त करने के लिए सीधे उपयोग किया जाता है, उदा। int x; std::cin >> x;
। std::cin.getline()
का उपयोग कच्चे char *
बफर को भरने के लिए किया जाता है।
सदस्य getline आपको 'std :: string' नहीं मिलता है, इसका उपयोग' char * 'buffer भरने के लिए किया जाता है। गेटलाइन जो आपको 'std :: string' प्राप्त करती है वह मुफ़्त फ़ंक्शन 'std :: getline' है। – etarion
@ ओली। हां, मैंने थोड़ी देर के लिए प्रलेखन देखा लेकिन विचार नहीं मिला। अब, मुझे लगता है कि यह अधिक स्पष्ट है। धन्यवाद। – Simplicity
@etarion: अच्छी पकड़। अब जवाब अपडेट कर रहा है ... –
के std::cin.getline()
अलग लेते हैं। सबसे पहले, std::
है। यह नामस्थान है जिसमें मानक पुस्तकालय रहता है। इसमें सैकड़ों प्रकार, कार्य और वस्तुएं हैं।
std::cin
इस तरह के एक वस्तु है। यह मानक वर्ण इनपुट ऑब्जेक्ट है, जिसे <iostream>
में परिभाषित किया गया है। इसमें कुछ तरीके हैं, लेकिन आप इसे कई मुफ्त कार्यों के साथ भी उपयोग कर सकते हैं। इनमें से अधिकतर विधियां और कार्य मानक इनपुट से एक या अधिक वर्ण प्राप्त करने के तरीके हैं।
अंत में, .getline()
std::cin
(और अन्य समान वस्तुओं) की एक ऐसी विधि है। आप इसे बताते हैं कि ऑब्जेक्ट से उसके बाईं ओर कितने अक्षर प्राप्त हो सकते हैं (std::cin
यहां), और उन पात्रों को कहां रखा जाए। वर्णों की सटीक संख्या भिन्न हो सकती है: .getline()
तीन मामलों में रुक जाएगा: 1. एक पंक्ति का अंत पर पहुंच गया है 2. इनपुट में कोई वर्ण नहीं छोड़े गए हैं (आमतौर पर std::cin
पर नहीं होता है क्योंकि आप टाइपिंग रख सकते हैं) 3. वर्णों की अधिकतम संख्या पढ़ी जाती है।
अन्य तरीकों और कार्यों कि std::cin
वस्तु के साथ इस्तेमाल किया जा सकता है, उदा रहे हैं
std::string s;
int i;
std::cin >> s; // Read a single word from std::cin
std::cin >> i; // Read a single number from std::cin
std::getline(std::cin, s); // Read an entire line (up to \n) from std::cin
std::cin.ignore(100); // Ignore the next 100 characters of std::cin
- 1. std :: सूची बनाम std :: वेक्टर पुनरावृत्ति
- 2. std :: स्ट्रिंग :: लंबाई() बनाम std :: स्ट्रिंग :: आकार()
- 3. नई std :: अपवाद बनाम फेंक std :: अपवाद
- 4. प्रदर्शन std :: strstr बनाम std :: स्ट्रिंग ::
- 5. std :: this_thread :: उपज() बनाम std :: this_thread :: sleep_for()?
- 6. अंतर: std :: runtime_error बनाम std :: अपवाद()
- 7. std :: cin.getline में std :: string लेने के लिए oveloaded विधि क्यों नहीं है?
- 8. std :: size_t बनाम size_t बनाम std :: string :: size_type
- 9. std :: स्ट्रिंग बनाम char *
- 10. std :: vector बनाम std :: सूची बनाम std :: slist का सापेक्ष प्रदर्शन?
- 11. std :: हैश_सेट बनाम std :: unordered_set, क्या वे वही बात हैं?
- 12. std :: के बारे में उलझन में runtime_error बनाम std :: logic_error
- 13. std :: std :: weak_ptr key
- 14. बार्टन-नाकमैन बनाम std :: enable_if
- 15. std :: एसटीडी बनाम mem_fun :: mem_fn
- 16. std :: परमाणु | तुलना_exchange_weak बनाम तुलना_exchange_strong
- 17. सी ++ std :: वेक्टर emplace बनाम
- 18. std :: वेक्टर बनाम सामान्य सरणी
- 19. std :: std :: function से बांधें?
- 20. std :: map को std :: C++
- 21. std :: vector और std :: list
- 22. std :: तरह हमेशा std :: स्वैप
- 23. std :: pair या std :: tuple
- 24. जीसीसी std :: थ्रेड नेमस्पेस std
- 25. std :: streampos, std :: streamoff और std :: लंबे समय तक intsize?
- 26. std :: async - std :: launch :: async | std :: launch :: deferred
- 27. std :: async (std :: launch :: async) बनाम जीसीसी का व्यवहार बनाम क्लैंग का व्यवहार
- 28. std :: आवंटक बनाम/बनाम बनाम प्लेसमेंट नया/पी-> ~ टी()
- 29. बफर फ्लशिंग: "\ n" बनाम std :: endl
- 30. एक std :: vector बनाम सादे सरणी
मुझे यह जवाब नहीं समझा। 'std :: cin' कुछ भी नहीं मिलता है; यह सिर्फ एक वस्तु है। आपको इसके साथ कुछ करना है (उदाहरण के लिए कुछ भी करने से पहले एक सदस्य फ़ंक्शन 'get'' पर कॉल करें)। –
'चार एस 1 [256], एस 2 [256]; std :: cin >> s1; cin.getline (s2, 256); '' – alvelcom
std :: CIN >> s1' एक वैश्विक फ़ंक्शन की कॉल 'IStream और ऑपरेटर >> (IStream और, चार *)' है –