任何人都知道为什么使用 strtoull 会超过 unsigned long long?当我拨打电话时,“x”的值为 12,所以我试图将 12 位基数 36 num 转换为 unsigned long long。
这应该有效吗?我编译 32 位还是 64 位都没有关系。我在redhat上使用g++。
缓冲区是一个字符*
char *strPtr = buffer + ORDERIDOFFSET;
char *endPtr = strPtr + ORDERIDLENGTH;
long x = long((endPtr)) - long(buffer + ORDERIDOFFSET);
unsigned long long orderid = strtoull((buffer + ORDERIDOFFSET), &(endPtr), 36);
谢谢!