perror函数
今天发现一个函数挺好的,其作用是:用来将上一个函数发生错误的原因输出到标准设备(stderr)。 参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno 的 值来决定要输出的字符串。
在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你调用"某些"函数出错 时,该函数已经重新设置了errno的值。perror函数只是将你输入的一些信息和现在的errno所对应的 错误一起输出。
相关代码:
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main(int argc, char* argv[])
{
FILE *fp;
if ((fp = fopen(argv[1], "r")) == NULL)
{
perror("perror:");
printf("strerror:%s\n", strerror(errno));
}
exit(0);
}
使用perror和strerror打印网线拔掉情况下client连接server的打印出错信息为:
perror: No route to host
strerror:No route to host
效果一样,同时出错的信息号保存在errno中。计划以后若是需要可将此出错信息利用起来!