函数psignal和strsignal
psignal函数
#include <signal.h>
void psignal(int signo, const char *msg);
功能:该函数可移植地打印信号编号与对应的字符串,常用来输出信号的出错消息
参数
参数1:信号编号
参数2:自定义的字符串(通常为程序名)
打印的样式:
字符串msg在最前面,后面跟一个冒号加一个空格,后面再加上对该信号的说明,最后是一个换行符
msg: 信号说明\n
如果msg为NULL,则只有信号说明输出
该函数类似于perror函数的打印样式,打印的信息输出到错误标准输出上
演示案例:
#include<signal.h>
int main()
{
psignal(2,"SIGINT error");
return 0;
}
strsiganal函数
#include <string.h>
char *strsignal(int signo);
功能:该函数类似于psignal函数,也是获取信号的出错消息,但此函数是将信号的错误说明作为字符串返回值返回
psignal是输出到标准错误上;而strsignal是返回一个字符串
psignal头文件是<signal.h>,strsignal头文件是<string.h>
参数:
信号编号
返回值:
成功:返回信号说明
失败(信号编号无效):在Solaris中,返回一个空指针;在FreeBSD、Linux3.2.0和Max OSX10.6.8返回一个字符串,该字符串指出信号是不可识别的
演示案例
#include<stdio.h>
#include<string.h>
int main()
{
char *sigErr=strsignal(2);
printf("%s\n",sigErr);
}