c语言如何打印出当前源文件名和行号

c语言如何打印出当前源文件名和行号

作者:Elara发布时间:2026-03-23阅读时长:0 分钟阅读次数:7

用户关注问题

Q
怎样在C语言中获取当前代码所在的文件名?

我想让程序输出当前执行代码的源文件名,应该使用哪些方法或宏?

A

使用__FILE__宏打印文件名

在C语言中,预定义宏__FILE__可以获取当前源文件的名称。通过将其作为字符串输出,就能显示当前代码所在的文件名。例如:printf("%s", FILE);

Q
如何打印出代码执行的行号信息?

能不能在程序中动态显示当前代码执行所在的具体行号?

A

使用__LINE__宏显示代码行号

C语言提供了预定义宏__LINE__,它代表当前代码所在的行号。通过printf("%d", LINE);即可打印出代码位置的行号,方便调试与定位错误。

Q
有没有方法同时打印当前文件名和行号?

在调试程序时,我想让输出信息包含文件名和对应行号,应该如何实现?

A

结合__FILE__和__LINE__宏打印调试信息

可以利用printf函数,将__FILE__和__LINE__两个宏结合输出,比如:printf("File: %s, Line: %d\n", FILE, LINE);这样既能打印出当前的源文件名,又能显示代码所在的行号,方便追踪程序执行位置。