2011-01-20 29 views

उत्तर

18

char *, std::cin.getline लाइन के साथ, std::cin के बजाय पहली शब्द प्राप्त करने के मामले में।

+6

मुझे यह जवाब नहीं समझा। 'std :: cin' कुछ भी नहीं मिलता है; यह सिर्फ एक वस्तु है। आपको इसके साथ कुछ करना है (उदाहरण के लिए कुछ भी करने से पहले एक सदस्य फ़ंक्शन 'get'' पर कॉल करें)। –

+1

'चार एस 1 [256], एस 2 [256]; std :: cin >> s1; cin.getline (s2, 256); '' – alvelcom

+3

std :: CIN >> s1' एक वैश्विक फ़ंक्शन की कॉल 'IStream और ऑपरेटर >> (IStream और, चार *)' है –

9

क्या आप (जैसे http://www.cplusplus.com/reference/string/getline/) किसी भी दस्तावेज़ पढ़ें?

मूल रूप से, std::cin (या अधिक आम तौर पर, std::istream) प्रारूपित इनपुट प्राप्त करने के लिए सीधे उपयोग किया जाता है, उदा। int x; std::cin >> x;std::cin.getline() का उपयोग कच्चे char * बफर को भरने के लिए किया जाता है।

+3

सदस्य getline आपको 'std :: string' नहीं मिलता है, इसका उपयोग' char * 'buffer भरने के लिए किया जाता है। गेटलाइन जो आपको 'std :: string' प्राप्त करती है वह मुफ़्त फ़ंक्शन 'std :: getline' है। – etarion

+0

@ ओली। हां, मैंने थोड़ी देर के लिए प्रलेखन देखा लेकिन विचार नहीं मिला। अब, मुझे लगता है कि यह अधिक स्पष्ट है। धन्यवाद। – Simplicity

+0

@etarion: अच्छी पकड़। अब जवाब अपडेट कर रहा है ... –

24

के 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 
संबंधित मुद्दे