scanf के साथ वहाँ है, आम तौर पर, स्वरूपित इनपुट लेने के लिए एक सीधा रास्ता:स्कैनफ स्वरूपित इनपुट के सिने एनालॉगस क्या है?
1) 0 से अधिक एक वास्तविक संख्या के साथ लाइन, और कम से कम 1. 'एक्स' पर समाप्त, जैसे: 0.32432523x
30 + 28 = अट्ठावनscanf(":%d+%d=%99s", &number1, &number2, &total);
क्या CIN समाधान है केवल स्टैंड का उपयोग कर:
scanf("0.%[0-9]x", &number);
2) लाइन प्रारूप में एक अतिरिक्त का प्रतिनिधित्व करता है ard पुस्तकालय?
कहीं नहीं * के पास * के रूप में सुंदर ... 'scanf' वास्तव में शक्तिशाली है। निजी तौर पर, मैंने 'स्ट्रिंग' में पढ़ा है, पॉइंटर को 'स्ट्रिंग :: c_str() 'और फिर' sscanf' 'के माध्यम से पकड़ें। या मैं इसे 'स्ट्रिंगस्ट्रीम' या जो भी हो, से खुद को समझता हूं। – paddy
सी ++ में इस तरह के स्वरूपित इनपुट के लिए, आप कुछ [बूस्ट स्पिरिट] (http://boost-spirit.com/home/) पर विचार करना चाहेंगे। यह अधिक हो सकता है, लेकिन यह सीधे iostreams का उपयोग करने से क्लीनर होगा। –
स्कैनफ़ को इस पर जीत मिलती है क्योंकि यह आपको एक रिटर्न वैल्यू देता है जिसे आप मिलान की गई सभी चीज़ों को सत्यापित करने के लिए एक ही स्थान पर देख सकते हैं। सीन स्ट्रीम में आपको कुछ चीजें "मैन्युअल रूप से" जांचनी होगी। – doug65536