2013-12-18 10 views
20

हेक्स प्रस्तुति स्ट्रिंग से "0xFA" या बेहतर "FA" से int बनाने की आवश्यकता है। atoi("FA") जैसे कुछ चाहिए। क्या इसके लिए कोई मानक समाधान है?atoi() हेक्स प्रतिनिधित्व स्ट्रिंग से

+4

कुछ की तरह [ 'strtol'] (http://en.cppreference.com/w/c/string/byte/strtol), तो आपको क्या मतलब है? – usr2564301

+3

[अपने उपकरण जानें] (http://en.cppreference.com/w/c) – user694733

उत्तर

47

strtol() उपयोग करने के लिए प्रयास करें:

strtol("FA", NULL, 16); 
+0

नोट: यह '0xFA' के साथ भी काम करता है:" (वैकल्पिक) उपसर्ग (0x या 0X) हेक्साडेसिमल बेस इंगित करता है (केवल तब लागू होता है जब लागू होता है आधार 16 या 0 है) " – usr2564301

+15

हस्ताक्षरित के लिए, आपको strtoul() का उपयोग" 0x81234567 "जैसे तारों को व्यवस्थित करने के लिए करना चाहिए, अन्यथा आपको 0xFFFFFFFF वापस मिल जाएगा। – gjcamann

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