将字符串转换为C ++中的long long long

pis*_*tal 1 c++ casting type-conversion

将字符串转换为unsigned long long。

string str = "0x1232"
Run Code Online (Sandbox Code Playgroud)

我如何转换成无符号的long long。

这就是我尝试过的。

unsigned long long ull;
ull = stoull(str, NULL, 0);
Run Code Online (Sandbox Code Playgroud)

错误:

 error: identifier "stoull" is undefined
                        ull = stoull(str, NULL, 0);
Run Code Online (Sandbox Code Playgroud)

你能给我一些指导吗?

Som*_*ude 5

首先是strtoull(请注意r)。其次,它是一个旧的C样式函数,不能std::string直接处理。您要么必须通过它,str.c_str()要么使用新的std::stoull。

  • @pistal 是的,这是正确的。例如 `ull = std::strtoull(str.c_str(), 0, 16);` (2认同)