किसी ने मुझे बताया कि मुझे atoi()
का उपयोग नहीं करना चाहिए, और मुझे हमेशा strtol()
का उपयोग करना चाहिए। atoi()
के साथ क्या गलत है कि मुझे इसका उपयोग नहीं करना चाहिए? strtol()
वास्तव में इसके बजाय उपयोग करने के लिए सही चीज़ है?मुझे atoi() का उपयोग क्यों नहीं करना चाहिए?
उत्तर
अपनी खुद की link से (? और क्या इस तथ्य के बारे में strtol()
एक long
, न कि एक int
atoi()
की तरह रिटर्न कि):
atoi() फ़ंक्शन() strtol द्वारा सम्मिलित किया जाता है, बल्कि इसलिए बनाए रखा है यह मौजूदा कोड में बड़े पैमाने पर उपयोग किया जाता है। यदि संख्या सीमा में नहीं जाना जाता है, तो strtol() का उपयोग किया जाना चाहिए क्योंकि atoi() को कोई त्रुटि जांच करने की आवश्यकता नहीं है।
या
atoi
वहाँ जानने यदि स्ट्रिंग पारित वास्तव में एक संख्या है का कोई रास्ता नहीं है, वहाँ के रूप में कोई विशेष त्रुटि "वापसी" है अप्रचलित
atoi
के साथ है। यह केवल दशमलव मानों (आधार 10) को संभालता है, इसलिए मनमानी आधारों को संभाल नहीं सकता है जैसे उदा। strtol
। इसके अलावा यह हस्ताक्षरित पूर्णांक (अधिकांश प्लेटफ़ॉर्म पर 32 बिट्स) से बड़े मानों को संभाल नहीं सकता है।
यदि स्ट्रिंग बहुत बड़ी होगी और इसे परिवर्तित नहीं किया जा सकता है, तो यह अनिर्धारित व्यवहार का कारण बनता है क्योंकि उस स्ट्रिंग का मान बहुत बड़ा हो सकता है और यह सीमा में नहीं हो सकता है। ऐसे मामलों में (जहां संख्या श्रेणी में ज्ञात नहीं है) strtol()
का उपयोग किया जाना चाहिए।
- 1. मुझे glbindAttribLocation का उपयोग क्यों करना चाहिए?
- 2. मुझे गिटिनोरोर का उपयोग क्यों करना चाहिए?
- 3. मुझे डोलॉल्स का उपयोग क्यों करना चाहिए?
- 4. मुझे डिस्पैचर का उपयोग क्यों करना चाहिए?
- 5. मुझे ईएमएफ का उपयोग क्यों करना चाहिए?
- 6. मुझे फ्लेक्स का उपयोग क्यों करना चाहिए?
- 7. मुझे एमएक्सएमएल का उपयोग क्यों करना चाहिए?
- 8. मुझे सॉकेट.ओ का उपयोग क्यों करना चाहिए?
- 9. मुझे @properties का उपयोग क्यों करना चाहिए?
- 10. मुझे यूनिवर्सल :: आईएसए का उपयोग क्यों नहीं करना चाहिए?
- 11. मुझे अर्धविराम का उपयोग क्यों नहीं करना चाहिए?
- 12. मुझे जीएसी का उपयोग क्यों नहीं करना चाहिए?
- 13. सी # मुझे कभी कोरआउट का उपयोग क्यों नहीं करना चाहिए?
- 14. मुझे एकता का उपयोग क्यों नहीं करना चाहिए?
- 15. मुझे ऑटोडुअल का उपयोग क्यों नहीं करना चाहिए?
- 16. पायथन: मुझे अगले() और obj.next() क्यों नहीं उपयोग करना चाहिए?
- 17. मुझे पैरामीटर का उपयोग कब करना चाहिए?
- 18. क्या मुझे HttpRuntime.Cache का उपयोग करना चाहिए?
- 19. मुझे WPF में "संसाधन" का उपयोग क्यों करना चाहिए?
- 20. मुझे माइक्रोसॉफ्ट एक्सप्रेशन ब्लेंड का उपयोग क्यों करना चाहिए?
- 21. मुझे @ url.Content ("~/blah-blah-blah") का उपयोग क्यों करना चाहिए?
- 22. मुझे सदस्य प्रारंभिक सूची का उपयोग क्यों करना चाहिए?
- 23. मुझे Silverlight ऐप में एमवीवीएम का उपयोग क्यों करना चाहिए?
- 24. मुझे io_service :: कार्य का उपयोग क्यों करना चाहिए?
- 25. मुझे दृश्य मॉडल का उपयोग क्यों करना चाहिए?
- 26. मुझे जीडब्ल्यूटी के बजाय jQuery का उपयोग क्यों करना चाहिए?
- 27. मुझे HTML में कंटेनर div का उपयोग क्यों करना चाहिए?
- 28. मुझे रेल पर रूबी का उपयोग क्यों करना चाहिए?
- 29. मुझे एंड्रॉइड में खंड का उपयोग क्यों करना चाहिए?
- 30. मुझे एमवीसी के साथ डब्ल्यूसीएफ का उपयोग क्यों करना चाहिए?
नोट: मुझे पूरी तरह से पता है कि क्यों 'atoi()' का उपयोग नहीं किया जाता है। हालांकि, जबकि मैं 'atoi() 'का उपयोग करने के बारे में प्रश्न देखता हूं, जो बताता है कि इसका उपयोग क्यों न करें, मुझे यह सीधा सवाल नहीं मिला है, और मुझे लगता है कि प्रश्न और उत्तर एक साथ जुड़े हुए होंगे एक जोड़ी के रूप में ठीक से। –
(इसके अलावा, मैं यह देखने के लिए उत्सुक हूं कि लोग किस जवाब के साथ आते हैं। भिन्नता दिलचस्प हो सकती है।) –
क्या इस पर मौत पर चर्चा नहीं हुई है? क्या आपने इस वेबसाइट को थोड़ा सा देखा है? –