这是 C 标准库例程的原型strtol
:
long int strtol(const char* str, char** endptr, int base);
典型用法:
const char* str = "123a";
char* endptr;
long int value = strtol(str, &endptr, 10);
if (*endptr)
// Do something
else
// Do something else
为什么这样做?为什么不传递局部变量的地址?
例子:
long int strtol(const char* str, char* endptr, int base);
用法:
const char* str = "123a";
char end;
long int value = strtol(str, &end, 10);
if (end)
// Do something
else
// Do something else
我确信这个设计决定有一个合乎逻辑的原因,但我不太明白。