преобразовать строку в long long

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

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

4 ответов


попробовать _atoi64. Это нужно char* и возвращает __int64.


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

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

для этого может потребоваться 64-разрядное приложение.

C++ FAQ


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

long long ll = boost::lexical_cast<long long>(mystr)

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

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

Docs