मैंने देखा है कि जब भी मैं एक प्रोग्राम लिखता हूं जो std::cin
का उपयोग करता है कि यदि मैं चाहता हूं कि उपयोगकर्ता प्रोग्राम को समाप्त करने के लिए एंटर दबाए, तो मुझे वांछित व्यवहार प्राप्त करने के लिए std::cin.ignore()
लिखना होगा। उदाहरण के लिए:दूसरा cin.ignore() आवश्यक क्यों है?
#include <iostream>
int main(void)
{
int val = 0;
std::cout << "Enter an integer: ";
std::cin >> val;
std::cout << "Please press Enter to continue..." << std::endl;
std::cin.ignore();
std::cin.ignore(); // Why is this one needed?
}
मैं यह भी देखा है कि जब मैं वास्तविक निवेश के लिए cin
का उपयोग नहीं बल्कि सिर्फ अंत में ignore()
कॉल के लिए, मैं केवल एक की जरूरत है।
आप लिनक्स या Windows चला रहे हैं, इसकी वजह से हो सकता है एक
the_stream::ignore(std::numeric_limits<streamsize>::max(), '\n');
की आवश्यकता है यदि आप विंडोज़ चला रहे हैं तो सीआरएलएफ समस्या ... – Benसोलारिस पर वही "समस्या" होती है। सीआरएलएफ के साथ इसका कोई लेना-देना नहीं है। –