标准 C 库函数strtof并strtod具有以下签名:
float strtof(const char *str, char **endptr);
double strtod(const char *str, char **endptr);
它们每个都将输入字符串 , 分解str为三个部分:
- 一个初始的、可能为空的空白序列
- 表示浮点值的字符“主题序列”
- 无法识别(并且不影响转换)的字符“尾随序列”。
如果endptr不是NULL,则*endptr设置为指向紧随作为转换一部分的最后一个字符的字符的指针(换句话说,尾随序列的开始)。
我想知道:为什么 是endptr指向非const char指针的指针?不是*endptr指向const char字符串(输入字符串str)的指针吗?