c++ - 确定数字(编码为字符串)是否适合 C++ 中的 64 位整数?

标签 c++ string integer overflow portability

我正在寻找一种可移植的方法来 a) 将字符串转换为 64 位有符号整数 (int64_t),以及 b) 确定它是否不适合(溢出)。有什么办法可以做到这一点吗?

最佳答案

strtoll 已经非常便携了。如果不是您的情况,您可以随时复制 GNU C 运行时库并将其添加到您的项目中...

errno = 0;
long long val = strtoll (string, NULL, 0);
if (errno == ERANGE)
   // there was an overflow conversion error

关于c++ - 确定数字(编码为字符串)是否适合 C++ 中的 64 位整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900089/

相关文章:

algorithm - Bresenham Integer Equation(不仅仅是算法)

c++ - 是否有独立于操作系统的方式来轮询 TOTAL 和/或 USED 视频内存?

c++ - 如何在 C++ 中将 iso 8601 日期(可选毫秒)解析为 struct tm?

java - 在android中重新组合java中的分割字符串

string - OCaml 测试字符串是否几乎为空或包含关键字

javascript - javascript中的search()方法无法在包含 "\\ch"的字符串中搜索它

c++ - Lambda 函数无法在 Visual Studio 2010 中编译

c++ - 参数传递错误

c++ - 在 C++ 中检查变量是否为整数

java - 使用 contains() 检查 Java ArrayList 中的零