为了账号安全,请及时绑定邮箱和手机立即绑定

C语言程序问题;strerror函数,abort函数,的用法?

/ 猿问

C语言程序问题;strerror函数,abort函数,的用法?

拉莫斯之舞 2019-02-25 10:06:27

C语言程序问题;strerror函数,abort函数,的用法


查看完整描述

2 回答

?
富国沪深

函数说明:strerror()用来依参数errnum 的错误代码来查询其错误原因的描述字符串, 然后将该字符串指针返回.
返回值:返回描述错误原因的字符串指针.
范例:
/* 显示错误代码0 至9 的错误原因描述 */
#include <string.h>
main()
{
int i;
for(i = 0; i < 10; i++)
printf("%d : %s\n", i, strerror(i));
}
执行:
0 : Success
1 : Operation not permitted
2 : No such file or directory
3 : No such process
4 : Interrupted system call
5 : Input/output error
6 : Device not configured
7 : Argument list too long
8 : Exec format error
9 : Bad file descriptor

abort函数是一个比较严重的函数,当调用它时,会导致程序异常终止,而不会进行一些常规的清除工作,比如释放内存等。
//example:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
puts( "About to abort..../n" );
abort();
puts( "This will never be executed!/n" );
exit( EXIT_SUCCESS );
}
/*
result:
[root@localhost error_process]# gcc abort.c
[root@localhost error_process]# ./a.out
About to abort....
*/



查看完整回答
反对 回复 2019-03-26
?
四季花海

strerror 函数用来 从错误号码 查 用英文表达的错误内容,返回指针,指向这段英文字符串。
char * strerror ( int errnum );
如果你知道了错误号,你填入数值。
如果你不知道错误号,那么在出错发生时,及时用 errno 的当前值 作参数,打印这段字符串。例如:
#include <stdio.h>
#include <errno.h>
int main ()
{
FILE * pFile;
pFile = fopen ("unexist.ent","r");
if (pFile == NULL)
printf ("pFile error: %s\n",strerror(errno));
return 0;
}
--------------
abort() 就是 流产,程序结束。
函数原形: void abort (void);
其实,你用 exit(1); return 1; 便可。- 已有切菜刀,再多一把菜刀意义不大。



查看完整回答
反对 回复 2019-03-26

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信