如何输出源文件的标题和目前执行行的行数(面试题)

题目:如何输出源文件的标题和目前执行行的行数 

答案:int line = __LINE__;
            char *file = __FILE__;
            cout<<"file name is "<<(file)<<",line is "<<(line)<<endl;

 

ANSI C标准中有几个标准预定义宏:

__LINE__:在源代码中插入当前源代码行号;

__FILE__:在源文件中插入当前源文件名;

__DATE__:在源文件中插入当前的编译日期

__TIME__:在源文件中插入当前编译时间;

__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;

__cplusplus:当编写C++程序时该标识符被定义。

这里我们根据题目用到的是“__LINE__”和“__FILE__”。

 

执行结果如下图,当前源文件名是../test/main.cpp,目前执行行的行数是第九行,我一开始不理解这个行数是指什么,我换了几次“int line = __LINE__;”这一行代码的行位置,发现编译结果是随着这一行代码的位置而变化的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值