Как преобразовать ascii в unsigned int

Есть ли метод, который преобразует строку в unsigned int? _ultoa существует, но не может найти версию стиха для стихов...

Ответ 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);