में परिवर्तित करने के लिए कैसे कोई तरीका है जो स्ट्रिंग को बिना हस्ताक्षर किए int में परिवर्तित करता है? _ultoa मौजूद है लेकिन vise verse संस्करण नहीं मिला ...ascii को unsigned int
उत्तर
std::strtoul()
वह है। और फिर फिर पुराने हैं जैसे atoi()
।
बूस्ट lexical_cast प्रदान करता है।
#include <boost/lexical_cast.hpp>
[...]
unsigned int x = boost::lexical_cast<unsigned int>(strVal);
वैकल्पिक रूप से, आप एक stringstream उपयोग कर सकते हैं (जो मूल रूप से है क्या lexical_cast कवर के तहत करता है):
#include <sstream>
[...]
std::stringstream s(strVal);
unsigned int x;
s >> x;
और यदि आप गैर-दशमलव व्याख्या चाहते हैं, तो यह भी देखें: http://stackoverflow.com/questions/1070497/c-convert- हेक्स-स्ट्रिंग-टू-हस्ताक्षरित-पूर्णांक – Martin
क्या मैं एकमात्र व्यक्ति हूं जो धारा सम्मिलन को प्यार करता है, लेकिन धारा निष्कर्षण से नफरत करता है? मैं फ़ंक्शंस का उपयोग करता हूं (जैसे कि यह बढ़ावा देता है, हालांकि ईमानदार होने के बावजूद मैं अब भी बिना किसी सोच के एटीई का उपयोग करता हूं) हर बार। – Steve314
हाँ, स्ट्रीम निष्कर्षण बहुत बदसूरत है, खासकर जब से आप इसके साथ स्थिरांक शुरू नहीं कर सकते हैं। हालांकि यह काफी अधिक शक्तिशाली है, क्योंकि आप अपने आधार को बदलने के लिए मैनिपुलेटर्स का उपयोग कर सकते हैं, आदि – Martin
कैसे के बारे में int atoi (const char * str)?
string s("123");
unsigned u = (unsigned)atoi(s.c_str());
यह बिल्कुल अच्छा सुझाव नहीं है। उन्होंने विशेष रूप से "हस्ताक्षरित int" के लिए कहा है और "_ultoa" जैसी चीजों का उल्लेख किया है। पोस्टर atoi(), atol(), आदि के बारे में जानता है। ये फ़ंक्शंस सभी हस्ताक्षरित हैं और प्रतीक को पहचानते हैं, ओवरफ्लो को संभाल सकते हैं, इत्यादि सही जवाब स्ट्रेटोल जैसे कार्यों का उपयोग करना है। – Armentage
sscanf जो भी आप चाहते हैं वह करेंगे।
char* myString = "123"; // Declare a string (c-style)
unsigned int myNumber; // a number, where the answer will go.
sscanf(myString, "%u", &myNumber); // Parse the String into the Number
printf("The number I got was %u\n", myNumber); // Show the number, hopefully 123
मैंने स्कैनफ परिवार से भी घृणा की। सी ने कभी ऐसा नहीं किया जो मैं चाहता था, और ज्यादातर बार यह एक बग का कारण बनता था। यह ठीक है अगर आप जानते हैं कि स्ट्रिंग आपकी आवश्यकताओं से मेल खाती है - यदि आपने इसे पहले ही चेक कर लिया है या इसे अन्य कोड के साथ निकाला है - लेकिन उस स्थिति में, केवल एटोई या जो कुछ भी उपयोग न करें? स्कैनफ़-फ़ैमिली फ़ंक्शन का उपयोग करने वाला कोई भी व्यक्ति - ठीक है, कुछ अपराध हैं जहां कोई दंड कभी भी कठोर नहीं हो सकता है ;-) – Steve314
यह होना चाहिए "कोई भी C++ में स्कैनफ़-फ़ैमिली फ़ंक्शन का उपयोग कर रहा है ..." – Steve314
यह काम करता है अगर आप के माध्यम से _atoi64
अहस्ताक्षरित लंबे एल = _atoi64 (एसटीआर) जाओ,
- 1. अस्थिर unsigned int * const
- 2. मैं std :: atomic <unsigned int>
- 3. टेम्पलेट <unsigned int N> का अर्थ क्या है?
- 4. ASCII चार सी में रूपांतरण के लिए int
- 5. 'void *' से 'unsigned char *'
- 6. यूनिकोड स्वरूपण कंपाइलर चेतावनी: प्रारूप 'unsigned short' टाइप करता है लेकिन तर्क में 'int'
- 7. std :: vector <unsigned int> की शुरुआत निरंतर हस्ताक्षरित पूर्णांक की सूची के साथ
- 8. ASCII वर्णों को सामान्यीकृत करना
- 9. कोको में एक चरित्र के int ASCII मूल्य को मैं कैसे प्राप्त करूं?
- 10. बाइट [] ASCII
- 11. बैश: ASCII
- 12. println() ASCII कोड शून्य
- 13. सी ++ में डिफ़ॉल्ट 'हस्ताक्षरित लंबी int' द्वारा `int` है?
- 14. सी - हस्ताक्षरित int सरणी रूपांतरण के लिए हस्ताक्षरित int
- 15. MySQL मध्यम int बनाम int प्रदर्शन
- 16. MySQL: bigint बनाम int
- 17. फ़ाइल में गैर-ASCII वर्णों को हटाएं
- 18. यूनिकोड वर्ण को उसके ASCII समकक्ष
- 19. बिना हस्ताक्षर किए गए Int
- 20. स्वरूप विनिर्देशक लंबे अहस्ताक्षरित int
- 21. पायथन ASCII ग्राफ ड्राइंग
- 22. 10000 ascii तार
- 23. पायथन - संकुचित Ascii स्ट्रिंग
- 24. INT को DATETIME (SQL)
- 25. इंटर्स को int [] array
- 26. एंड्रॉइड: स्ट्रिंग को int
- 27. Nvarchar कॉलम को INT
- 28. चार को int
- 29. वर्चर मान को int
- 30. int को छोटा करना
atoi हालांकि हस्ताक्षर नहीं किया गया है, है ना? विंडोज सीआरटी में, यह ओवरफ्लो की स्थिति में एक त्रुटि (ERANGE) लौटाएगा। – Cheeso
चीसो, हाँ, जो मैं "i" द्वारा बता सकता हूं, यह int है ;-) –