assert宏的用法

来源:互联网 发布:手机站源码编辑 编辑:程序博客网 时间:2024/04/29 11:08
assert宏的用法


assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: 
#include <assert.h> 
void assert( int expression ); 
assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息, 
然后通过调用 abort 来终止程序运行。 
请看下面的程序清单badptr.c: 
#include <stdio.h> 
#include <assert.h> 
#include <stdlib.h> 
int main( void ) 

       FILE *fp; 
     
       fp = fopen( "test.txt", "w" );//以可写的方式打开一个文件,如果不存在就创建一个同名文件 
       assert( fp );                           //所以这里不会出错 
       fclose( fp ); 
     
       fp = fopen( "noexitfile.txt", "r" );//以只读的方式打开一个文件,如果不存在就打开文件失败 
       assert( fp );                           //所以这里出错 
       fclose( fp );                           //程序永远都执行不到这里来 
       return 0;