преобразовать строку в длинную длинную - PullRequest
9 голосов
/ 20 ноября 2008

Я использую VS 2008 для создания C ++ DLL (неуправляемого) проекта, и мне нужно преобразовать символ * в тип long long. Есть ли простой способ сделать это?

Заранее спасибо:)

Ответы [ 4 ]

15 голосов
/ 20 ноября 2008

Самый простой способ - использовать std :: stringstream (он также наиболее безопасен для типов ...)

std::stringstream sstr(mystr);
__int64 val;
sstr >> val;

Возможно, для этого потребуется целевое 64-битное приложение.

C ++ FAQ

7 голосов
/ 20 ноября 2008

Если вы используете boost, lexical_cast - лучший способ, на мой взгляд.

long long ll = boost::lexical_cast<long long>(mystr)
5 голосов
/ 20 ноября 2008

Попробуйте _atoi64. Это займет char* и вернет __int64.

2 голосов
/ 13 ноября 2015

Другой вариант - использование stoll (), найденного в библиотеке строк. Принимает строку C ++.

long long ll = std::stoll(mystr);

Docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...