2012-05-27 11 views
7

मैं cin का उपयोग कर उपयोगकर्ता की संख्या को सीमित करने की इच्छा सीमित करना चाहता हूं। उदाहरण के लिए, मैं इसे दो वर्णों तक सीमित करना चाहता हूं। मैं यह कैसे कर सकता हूं?मैं सिने के माध्यम से दर्ज वर्णों की संख्या को कैसे सीमित करूं?

मेरे कोड इस तरह दिखता है:

cin >> var; 
+1

माइकल, क्यों आप कोड दिखा रहा है कि Meni 'ऑपरेटर उपयोग कर रहा है >>' (के रूप में विरोध किया टुकड़ा दूर करने के लिए 'readline',' read', आदि)? –

+0

@ बेन, मुझे विश्वास नहीं था कि यह प्रासंगिक था, क्योंकि उसने पहले से ही निर्दिष्ट किया है कि वह 'cin' का उपयोग कर रहा है। यदि आपको लगता है कि यह सहायक है, हालांकि, मैं इसे वापस जोड़ दूंगा। –

उत्तर

15

आप उपयोग कर सकते हैं setw()

cin >> setw(2) >> var; 

http://www.cplusplus.com/reference/iostream/manipulators/setw/

सेट वर्णों की संख्या अगले प्रविष्टि ऑपरेशन के लिए क्षेत्र चौड़ाई के रूप में प्रयोग की जाने वाली।

कार्य @chris द्वारा प्रदान उदाहरण: http://ideone.com/R35NN

+0

"सम्मिलन"! = "निष्कर्षण"। –

+0

@ Robᵩ, यह इनपुट संचालन के साथ काम करता है। मुझे याद है कि डीटेल पुस्तक एक ऑपरेटर ओवरलोडिंग अध्याय में एक फोन नंबर इनपुट करने के लिए इसका उपयोग करती है। – chris

+0

@ रोब: इसे भी परीक्षण किया। –

1

हम्म आप 'var' एक चरित्र सरणी बनाने के लिए और एक समय पाश का उपयोग इनपुट को पढ़ने के लिए जब तक सरणी शायद भरा था सकता है?

char var[somenumber + 1]; 
int count = 0; 

while(count < somenumber){ 
    cin >> var[count]; 
    count++; 
} 

var [somenumber] = '\0'; 
संबंधित मुद्दे

 संबंधित मुद्दे