Я использую VS 2008 для создания C ++ DLL (неуправляемого) проекта, и мне нужно преобразовать символ * в тип long long. Есть ли простой способ сделать это?
Заранее спасибо:)
Самый простой способ - использовать 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)
Попробуйте _atoi64. Это займет char* и вернет __int64.
_atoi64.
char*
__int64
Другой вариант - использование stoll (), найденного в библиотеке строк. Принимает строку C ++.
long long ll = std::stoll(mystr);
Docs