21xrx.com
2024-11-05 12:14:19 Tuesday
登录
文章检索 我的文章 写文章
C++实现打印函数名、文件名和行数
2023-07-02 18:21:48 深夜i     --     --
C++ print function name file name line number

在C++编程中,我们有时需要在程序中打印函数名、文件名以及行数,以方便调试程序。本文将介绍如何使用C++代码实现该功能。

在C++中,有一个预定义的宏__FUNCTION__可以用于获取当前函数的名称。而要获取当前文件的名称,则需要使用另一个预定义宏__FILE__。这两个宏都可以直接在程序中输出,例如:


#include <iostream>

using namespace std;

void printInfo()

  cout << "Function: " << __FUNCTION__ << endl;

  cout << "File: " << __FILE__ << endl;

  cout << "Line: " << __LINE__ << endl;

int main() {

  printInfo();

  return 0;

}

上述代码中定义了一个函数printInfo(),在函数中使用__FUNCTION__、__FILE__和__LINE__宏分别获取当前函数名称、文件名和行号,并使用cout输出到控制台。在main()函数中调用printInfo()函数。

当程序运行时,输出结果如下:


Function: printInfo

File: main.cpp

Line: 9

通过上述代码,我们就可以轻松地在C++程序中打印函数名、文件名和行数了。这在调试程序时是非常有用的,可以帮助我们更快地找到错误所在。

需要注意的是,__FUNCTION__和__FILE__宏返回的结果都是字符串常量,因此不能修改它们的值。并且,在一些编译器中可能不支持这些宏,因此建议在编写程序时先进行编译并进行测试。

总之,通过使用C++中的预定义宏,我们可以轻松地在程序中打印函数名、文件名以及行数。这对于程序调试是非常有用的,可以帮助我们提高开发效率,减少出错时间。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复