c++/c 获取cpp文件行号跟文件名

本文深入探讨了编译器内置宏定义,如__LINE__、__FILE__、__DATE__、__TIME__、__STDC__和__cplusplus,解释了它们如何帮助实现跨平台编程及调试信息的输出。通过具体代码示例展示了这些宏在C/C++编程中的应用。
编译器内置宏:

先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。

ANSI C标准中有几个标准预定义宏(也是常用的):

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

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

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

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

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

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

下面例子:

  1. #include<stdio.h> 
  2.  
  3. int main() 
  4.   char file[16]; 
  5.   char func[16]; 
  6.   int line;  
  7.   sprintf(file,__FILE__); //文件名 
  8.   sprintf(func,__FUNCTION__);//函数名 
  9.   printf("file=%s\n",file); 
  10.   printf("func=%s\n",func); 
  11.   printf("%05d\n",__LINE__);//行号  
  12.   return 0; 

转载于:https://www.cnblogs.com/nafio/p/9137652.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值