में मान्य int है या नहीं, मुझे यह जांचना होगा कि कोई सी स्ट्रिंग एक वैध पूर्णांक है या नहीं।निर्धारित करें कि सी 0 स्ट्रिंग सी
मैं दोनों
int num=atoi(str);
और
int res=sscanf(str, "%d", &num);
लेकिन कोशिश की लाइनों के दोनों में स्ट्रिंग "8 -9 10"
भेजने बस 8 लौट आए, इस स्ट्रिंग की अमान्यता उल्लेख किए बिना।
कोई भी विकल्प सुझा सकता है?
'atoi' कोई त्रुटि जांच नहीं करता है; इसका व्यवहार अगर 'str' में' int' मान का प्रतिनिधित्व नहीं है, तो यह अनिर्धारित है। (विशिष्ट कार्यान्वयन '0' वापस आते हैं।) 'Sscanf' बेहतर है, लेकिन स्ट्रिंग में मान' int' के रूप में प्रस्तुत नहीं होने पर इसका व्यवहार अपरिभाषित है। साथ ही, आपका शीर्षक कहता है कि आप एक वैध int की जांच करना चाहते हैं, लेकिन आपके प्रश्न का बॉडी "वैध पूर्णांक" कहता है; वे एक ही बात नहीं हैं। 'int' कई * पूर्णांक * प्रकारों में से एक है। –