c/c++语言开发共享如何立即关闭C中的程序?

我正在编写C代码,我正在分析一些数据。 我已将程序设置为仅处理100个数据输入。 当它有超过100个输入时,它会产生分段错误。 我想创建一种方法,以便当输入数量超过100时,将警告用户并终止程序。 我知道如何通过简单地return 0从main函数中执行它,但是我是远离main的多个函数调用,并且很难做到这一点,即使在此函数中return 0也会使其循环。

是否有任何直接的方法来终止整个程序而不是主要的?

    您正在寻找标准functionexit

    正常终止进程,执行常规清理以终止进程。

    首先,通过调用atexit注册的所有函数都按照其注册的相反顺序执行。 然后,关闭所有流并删除临时文件,最后将控件返回到主机环境。

    status参数返回给主机环境。

    如果您修复了段错误,那会更好。

    您需要包含标准库,然后您可以在任何地方调用exit:

     #include  ... exit(status); 

    其中status是表示退出代码的整数。 对于关注状态:对于约定0是成功,其他值表示错误状态。

    你也可以fprintf(stderr, ....)然后调用abort() ; 如果您想稍后调试您的错误,这可能会有所帮助。

    但我相信你应该重新编写你的程序,以便只能通过可用资源给出大小限制:所以如果你在更大的计算机上运行你的程序(无论这意味着什么)它可以处理超过100个输入。

    稍微好一点的做法可能是使用信号处理程序捕获分段错误,并让信号处理程序引发SIGSTOP信号。

    这样你的程序就会停止,但会留在内存中。 然后,您可以使用调试器附加到它,并在SEGFAULT发生的位置查看程序的所有荣耀。

    这对于在开发IDE中未运行的长时间运行的程序中查找问题非常有用。

    需要了解更多c/c++开发分享如何立即关闭C中的程序?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享如何立即关闭C中的程序?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980175.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐