GNU glibc提供一个对printf的扩展,直接printf("%m"),可以输出标准的错误信息,例如下面:
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
int main()
{
if (open("/usr/test",0) < 0)
{
printf("%m /n");
printf("%s /n",strerror(errno));
}
return 0;
}
输出为 :
No such file or directory
No such file or directory
本文介绍了一种利用GNU glibc扩展特性通过printf(%m)来直接输出标准错误信息的方法,并通过一个示例展示了其与传统strerror(errno)的区别及用法。
3766

被折叠的 条评论
为什么被折叠?



