Какое значение для инициализации ненулевого указателя? - PullRequest
0 голосов
/ 21 января 2019

Если я хочу получить значение для endptr в strtol, мне нужно передать ненулевой указатель.Какое значение я должен инициализировать временный указатель end, не делая ничего страшного, как это?

char x = '0';
char *y = &x;
char **end = &y;
long l = strtol (str, end, base);

1 Ответ

0 голосов
/ 21 января 2019

Возможно вот так:

char *end;
long l = strtol (str, &end, base);

Передается адрес из end, а не его значение, поэтому NULL не передается.

Если endptr не равен NULL, указатель на символ, который остановил сканирование, сохраняется в месте, указанном endptr. Если преобразование не может быть выполнено (допустимые цифры не были найдены или была указана неверная база), значение strSource сохраняется в месте, указанном endptr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...