This question already has answers here:
C/C++ line number
(8个答案)
4年前关闭。
我是编程的新手,我有一个可以运行的程序,但是我需要为其显示行号。我可以使用C宏
来自
如果(根据您的评论的情况而定)仅需要一个输出行号的程序,则建议不要使用
取而代之的是,最好让程序记录它所在的行并在行本身之前输出。参见,例如:
(8个答案)
4年前关闭。
我是编程的新手,我有一个可以运行的程序,但是我需要为其显示行号。我可以使用C宏
__LINE__
吗?如果是这样,我可以在代码中插入它,如果不能,我该怎么做才能使程序随代码一起打印出行号?提前致谢。 最佳答案
__LINE__
宏扩展为整数行号(源文件中的假定行号),因此您可以在任何整数可用的地方很好地使用它:
printf ("This line is %d.\n", __LINE__);
来自
C11 6.10.8.1 Mandatory macros
:__LINE__
当前源行的假定行号(在当前源文件中)(整数常量)。如果(根据您的评论的情况而定)仅需要一个输出行号的程序,则建议不要使用
__LINE__
。取而代之的是,最好让程序记录它所在的行并在行本身之前输出。参见,例如:
#include <stdio.h>
int main (void) {
static char buff[100000];
int lineNum = 0;
FILE *fp = fopen (__FILE__, "r");
if (fp != NULL) {
while (fgets (buff, sizeof (buff), fp) != NULL) {
printf ("%7d: %s", ++lineNum, buff);
}
fclose (fp);
}
return 0;
}
关于c - 如何打印行号? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29529786/
10-13 08:19