使用__FILE__和__LINE__定位错误

问题:当运行时错误产生时,我怎样才能得到包含C++文件名和行号的字符串信息?
回答:在C++中的__FILE__预编译指示器包含了被编译的文件名,而__LINE__则包含了源代码的行号。

其中__FILE__是一个字符串 char *,__LINE__是一个整形的数字。

 

实例如下:

#include <stdio.h>

int main()
{
printf("This fake error is in %s on lind %d\n",__FILE__,__LINE__);
return 0;
}

 

输出:

 

This fake error is in test.c on lind 5

 

 

常用的预定义宏

__FILE__       源文件的名称  如XXX.cpp
__LINE__       代码在源文件中是第几行 
__DATE__      源文件完成日期如Aug 17 2011
__TIME__       源文件完成时间如19:31:13
__TIMESTAMP__ 源文件完成日期时间如Wed Aug 17 19:27:36 2011

posted @ 2016-09-23 21:41  Leon_Yan  阅读(248)  评论(0编辑  收藏  举报