我正在处理unsigned long long
从字符串中读取 64 位无符号整数的问题。我的代码应该适用于 GCC 4.3 和 Visual Studio 2010。
我阅读了有关该主题的问题和答案:从文件中读取 64 位整数字符串,并且认为strtoull
这将使工作变得更好,并且比使用std::stringstream
. 不幸strtoull
的是,在 Visual Studio 的stdlib.h
.
所以我写了一个简短的模板函数:
template <typename T>
T ToNumber(const std::string& Str)
{
T Number;
std::stringstream S(Str);
S >> Number;
return Number;
}
unsigned long long N = ToNumber<unsigned long long>("1234567890123456789");
我担心这个解决方案的效率,所以在这个场景中有更好的选择吗?