【发布时间】:2017-05-14 11:01:00
【问题描述】:
char *strerror_r(int errnum, char *buf, size_t buflen);
这些buf/buflen参数是干什么用的?
空缓冲区就像一个魅力:
char* buf = nullptr;
fprintf(stderr, strerror_r(errno, buf, 0));
这个缓冲区看起来也没有使用:
char buf[1024];
fprintf(stderr, "%s\n", strerror_r(errno, buf, sizeof buf)); // Correct message here
fprintf(stderr, "%s\n", buf); // Empty
【问题讨论】: