我只是略读了C99标准,当我发现从strerror
函数(7.12.6.2节)返回的指针不是const限定的时,我正在寻找一些我现在不记得的东西,即使标准说:为什么strerror不会返回一个const限定的指针?
strerror函数返回一个指向该字符串,其内容是
语言环境而异。 指向的数组不应该被程序,
修改,但可能会被后续对strerror函数的调用覆盖。
是否有一个明显的原因函数返回修改字符串,而不是像一些:
char const * const strerror(int errnum);
或者至少是
char const * strerror(int errnum);
感谢。
我想你的意思是只返回'const char *'。指针本身属于调用者,改变它的值没有任何危害。 – u0b34a0f6ae 2010-06-22 21:41:54
@ kaizer.se当然,谢谢。 – manneorama 2010-06-23 07:28:37