2
這裏的原型常規的C標準庫strtol
:爲什麼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
我敢肯定有這個設計決定是合情合理的理由,但我不太看出來。
什麼問題?第二個參數的目的是更新一個指向解析序列末尾的指針... –