assert

Posted chendeqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了assert相关的知识,希望对你有一定的参考价值。

assert断言,用于测试。当判断条件不满足,会终止程序并弹窗,然后会定位到断点处,用以调试。
调试结束后可以用#define NDEBUG取消断言。

#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
#pragma warning(disable:4996)  //取消 4996警告!

int main(void)
{
   FILE *fp;

   //以可写的方式打开一个文件,如果不存在则创建它
   fp = fopen("C:\Users\Administrator\Desktop\test1.txt", "w");
   assert(fp);                           //这里不会出错
   fclose(fp);

   //以只读的方式打开一个文件,如果不存在则打开失败
   fp = fopen("C:\Users\Administrator\Desktop\test2.txt", "r");
   assert(fp);                           //所以这里出错
   fclose(fp);                           //程序永远都执行不到这里来
   
   system("pause");
   return 0;
}

以上是关于assert的主要内容,如果未能解决你的问题,请参考以下文章

linux c 退出进程的代码

linux c 退出进程的代码

assert引起的代码注射

assert BOOST_ASSERT的坑

assert_option()可以用来对assert()进行一些约束和控制

jodatime DateTime 对象和语言环境