C++将字符串转换为uint64_t
答
你尝试
uint64_t value;
std::istringstream iss("18446744073709551610");
iss >> value;
?
这可能对于过时的标准工作了。
答
如果你使用升压我没有这个标记为重复的,你可以利用boost::lexical_cast
#include <iostream>
#include <string>
#include <boost-1_61/boost/lexical_cast.hpp> //I've multiple versions of boost installed, so this path may be different for you
int main()
{
using boost::lexical_cast;
using namespace std;
const string s("2424242");
uint64_t num = lexical_cast<uint64_t>(s.c_str());
cout << num << endl;
return 0;
}
那么,C++ 11可以被认为是几年以来的现行标准。 –
它是* a *标准,但不是**标准。由于工作或遗留代码或其他原因,仍然有很多人正在使用C++ 03。 – Gambit
当然** **标准是C++ 14? –