Я просто просматривал стандарт C99, искал что-то, что не помню сейчас, когда заметил, что указатель, возвращенный из функции strerror
(раздел 7.12.6.2), не является константным, хотястандарт гласит:
Функция strerror возвращает указатель на строку, содержимое которой
зависит от локали. Указанный массив не должен изменяться программой ,
, но может быть перезаписан последующим вызовом функции strerror.
Существует ли очевидная причина для этой функции возвращать изменяемую строку вместо чего-то вроде:
char const * const strerror(int errnum);
или, по крайней мере,
char const * strerror(int errnum);
Благодаря.