atoi
प्रतिस्थापित किया जाना चाहिए पदावनत नहीं है, अपने स्रोत सही नहीं है। वर्तमान सी मानक आईएसओ 98 99: 2011 में कुछ भी यह इंगित करता है (उदाहरण के लिए अध्याय 6.11 भविष्य की भाषा निर्देशों के लिए देखें), न ही पिछले मानकों में कुछ भी।
सी मानक के अनुसार, atoi, के रूप में इस प्रकार C11 7.22.1.2 strtol के बराबर है:
atoi, Atol, और एटोल कार्यों कन्वर्ट स्ट्रिंग की प्रारंभिक भाग में nptr द्वारा की ओर इशारा किया int, long int, और लंबे समय तक int प्रतिनिधित्व, क्रमशः।
त्रुटि पर व्यवहार के अलावा, वे,
atoi: (int)strtol(nptr, (char **)NULL, 10)
atol: strtol(nptr, (char **)NULL, 10)
atoll: strtoll(nptr, (char **)NULL, 10)
strtol पसंद किया जाता है के बराबर हैं atoi के रूप में त्रुटि होने पर अपरिभाषित व्यवहार का आह्वान। 7.22.1 देखें "यदि परिणाम का मूल्य प्रदर्शित नहीं किया जा सकता है, तो व्यवहार अपरिभाषित है।"
'atoi' के साथ मेरी समस्या: 'assert (atoi (" 0 ")! = Atoi (! Blah")) ' – sbi