69得票8回答
atol()和strtol()的区别

atol() 和 strtol() 的区别是什么? 根据它们的手册页,它们似乎具有相同的效果和匹配的参数:long atol(const char *nptr); long int strtol(const char *nptr, char **endptr, int base); 在一般...

28得票16回答
如何在C语言中高效地将十六进制字符串转换为整数?

在C语言中,将一串十六进制数字转换为二进制的最有效的方法是什么?可以得到一个unsigned int或者unsigned long类型的值。 例如,如果有一个字符串0xFFFFFFFE,希望得到一个int类型的值4294967294。

13得票6回答
通过命令行将十六进制数传入程序

我可以做到这个:int main(int argc, char** argv) { unsigned char cTest = 0xff; return 0; } 但是,通过命令行将十六进制数传递到程序中的正确方式是什么? unsigned char cTest = argv[1];...

10得票1回答
strtol指向原始字符串。

#include <cinttypes> #include <string> #include <algorithm> #include <iostream> using namespace std; uint64_t descendingOrd...

10得票5回答
VC++中的std::atoll函数

我一直在使用来自的std::atoll函数将字符串转换为int64_t,并使用gcc进行编译。但是,在Windows工具链(使用Visual Studio Express 2010)中似乎找不到该函数。有什么更好的替代方法吗? 我还对将strings转换为uint64_t感兴趣。整数定义取自。

9得票2回答
为什么不能只检查 errno 是否等于 ERANGE?

我一直在尝试使用 strtol 正确地将 char 数组转换为 long,检查是否存在溢出或下溢,并对 long 进行 int 强制转换。在此过程中,我注意到有很多代码看起来像这样。 if ((result == LONG_MAX || result == LONG_MIN) &&a...

9得票4回答
strtol的基础知识是什么?

我很困惑。我肯定是错过了一些简单的东西,但是我读到的有关strtol()的内容都让我感到迷惑。有人能以非常基础的方式为我解释一下吗?并且给出一个示例,说明我如何使以下内容正常工作? string input = getUserInput; int numberinput = strtol(i...

8得票1回答
strtoull()函数的输出在转换为double类型并再次转换为uint64_t类型时会失去精度。

请考虑以下内容: #include <iostream> #include <cstdint> int main() { std::cout << std::hex << "0x" << std::strtoul...

8得票1回答
std::stoi的基本参数是什么?

c++的stoi函数定义如下: int stoi(const std::string& str, std::size_t* pos = 0, int base = 10); 如你所见,base参数默认为10,因此默认只能处理十进制数。通过将base设置为0,可以根据数字前缀处理数...

7得票6回答
C - 比较数字字符串

出于职业好奇心,C语言中比较两个完全为数字的字符串最安全/最快/最有效的方法是什么? #include <stdio.h> #include <string.h> #include <stdlib.h> int main(void){ char str...