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

编译器内置宏:

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

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

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

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

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

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

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

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

下面例子:

#include<stdio.h>  
 
int main()  
{  
 char file[16];  
 char func[16];  
 int line;   
  sprintf(file,__FILE__); //文件名  
  sprintf(func,__FUNCTION__);//函数名  
  printf("file=%s\n",file);  
  printf("func=%s\n",func);  
  printf("%05d\n",__LINE__);//行号   
 return 0;  
}  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python数据科学

妈妈再也不用担心我忘记pandas操作了

pandas的操作上千种,但对于数据分析的使用掌握常用的操作就可以应付了,更多的操作可以参考pandas官网。

661
来自专栏Grace development

MySQL常用函数汇总

我整理的另一篇文章 MySQL常用系统表汇总 : https://blog.fastrun.cn/2016/07/10/1-27/

472
来自专栏黑白安全

SQLMAP tamper WAF 绕过脚本列表注

sqlmap的tamper目录下有41个用于绕过waf的脚本,网上有文章简要介绍过使用方法,但是只是简单说了其中少数几个的作用。本人通过这41个脚本的文档注释,...

733
来自专栏追不上乌龟的兔子

Python中最快的格式化字符串方式

第一种是传承自C语言printf函数的使用%占位符格式化字符串,如'%d' % 100,这种方式严格来说是使用%作为算数运算符进行的二元运算,而且有一个限制是只...

854
来自专栏mukekeheart的iOS之旅

OC学习14——谓词

一、谓词的基本概念与使用 1、谓词(NSPredicate)用于定义一个逻辑条件,通过该条件可执行搜索或内存中的过滤操作。上一篇文章中介绍的集合都提供了使用谓词...

22610
来自专栏xingoo, 一个梦想做发明家的程序员

剑指OFFER之合并有序链表(九度OJ1519)

题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 (hint: 请务必使用链表。) 输入: 输入可能包含...

1718
来自专栏大数据风控

R中字段抽取、字段合并、字段匹配

1、字段抽取 字段抽取,是根据已知列数据的开始和结束位置,抽取出新的列 字段截取函数:substr(x,start,stop) tel <- '1892225...

4169
来自专栏码云1024

mysql 数据类型

3394
来自专栏大数据-Hadoop、Spark

DataFrame常用操作

在spark-shell状态下查看sql内置函数: spark.sql("show functions").show(1000) 比如:SUBSTR(col...

3385
来自专栏闵开慧

eclipse中运行hbase时不能显示表中的值

for(Result row:table.getScanner("fam1".getBytes())){ // System.out.for...

3348

扫码关注云+社区