首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

abort

在头文件<stdlib.h>中定义

?

?

void abort(void);

?

(直到C11)

_Noreturn void abort(void);

?

(自C11以来)

除非SIGABRT被传递给signal的信号处理程序捕获并且处理程序不返回,否则会导致程序异常终止。

传递给atexit()的函数不会被调用。 是否关闭文件等开放资源是实现定义的。 实现定义的状态返回到指示不成功执行的主机环境。

参数

(none).

返回值

(none).

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
 
int main(void) 
{
    FILE *fp = fopen("data.txt","r");
    if (fp == NULL) {
       fprintf(stderr, "error opening file data.txt in function main()\n");
       abort();
    }
 
    /* Normal processing continues here. */
    fclose(fp);
    printf("Normal Return\n");
    return 0;
}

输出:

代码语言:javascript
复制
error opening file data.txt in function main()

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.22.4.1中止功能(p:350)
  • C99标准(ISO / IEC 9899:1999):
    • 7.20.4.1中止功能(p:315)
  • C89 / C90标准(ISO / IEC 9899:1990):
    • 4.10.4.1中止功能

扩展内容

exit

导致正常程序终止并清理(功能)

atexit对

注册要在exit()调用(函数)上调用的函数

quick_exit(C11)

导致正常程序终止而没有完全清理(功能)

| 用于中止的C ++文档|

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com