c 语言写一个逐行显示高亮代码
时间: 2024-02-12 15:08:51 浏览: 23
好的,以下是用C语言实现逐行高亮显示代码的示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#define ANSI_COLOR_RED "\x1b[31m"
#define ANSI_COLOR_RESET "\x1b[0m"
int main() {
char code[] = "int main() {\n printf(\"Hello, world!\\n\");\n return 0;\n}";
char *lines[4];
char *token = strtok(code, "\n");
int i = 0;
while (token != NULL) {
lines[i] = token;
token = strtok(NULL, "\n");
i++;
}
for (int j = 0; j < i; j++) {
printf(ANSI_COLOR_RED "%s\n" ANSI_COLOR_RESET, lines[j]);
sleep(1);
}
return 0;
}
```
这段代码将会输出一个简单的C语言程序,每行都会逐行高亮显示,并且每行之间会停留一秒钟。
具体实现方式是将代码字符串按照换行符`\n`进行拆分,然后逐行输出。在输出每一行的时候,我们可以使用ANSI控制码来设置输出颜色,从而实现高亮显示的效果。在这个例子中,我们使用了红色来表示高亮显示。
需要注意的是,在使用ANSI控制码时,需要在输出之前先输出控制码,然后在输出之后再输出重置控制码,以避免控制码对后续输出的影响。