【发布时间】:2011-07-25 21:12:00
【问题描述】:
如果系统调用函数失败,我们通常使用 perror 来输出错误信息。我想使用 fprintf 来输出 perror 字符串。我该怎么做这样的事情:
fprintf(stderr, perror output string here);
【问题讨论】:
如果系统调用函数失败,我们通常使用 perror 来输出错误信息。我想使用 fprintf 来输出 perror 字符串。我该怎么做这样的事情:
fprintf(stderr, perror output string here);
【问题讨论】:
#include <errno.h>
fprintf(stderr, "%s\n", strerror(errno));
注意:strerror 不会将\n 应用到消息的末尾
【讨论】:
fprintf(stderr, "LeakTracer: timer_settime failed to set timer (timer_trackStartTime): %s \n",strerror(errno);
perror("fopen")。这导致"fopen: <error description>"。如果是fprintf(stderr, "%s\n", strerror(errno)),您应该给出:<error_description>,所以如果您需要完全相同,请使用:fprintf(stderr, "fopen: %s\n", strerror(errno))。当然你应该用你的函数名替换fopen