Есть ли метод, который преобразует строку в unsigned int? _ultoa существует, но не может найти версию стиха для стихов...
Как преобразовать ascii в unsigned int
Ответ 1
std::strtoul()
является тем. И снова есть старые, такие как atoi()
.
Ответ 2
Boost предоставляет lexical_cast.
#include <boost/lexical_cast.hpp>
[...]
unsigned int x = boost::lexical_cast<unsigned int>(strVal);
В качестве альтернативы вы можете использовать строковый поток (в основном, что делает lexical_cast под обложками):
#include <sstream>
[...]
std::stringstream s(strVal);
unsigned int x;
s >> x;
Ответ 3
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
Ответ 4
Это работает, если вы перейдете через _atoi64
unsigned long l = _atoi64 (str);
Ответ 5
Как насчет int atoi (const char * str)?
string s("123");
unsigned u = (unsigned)atoi(s.c_str());