关于颜色的linux和windows

-1 c

最近,我遇到了一个问题.

#include <stdio.h>
#include <stdlib.h>
void main()
{
  system("color 1F");
}
Run Code Online (Sandbox Code Playgroud)

这可以打印Windows,但不能在Linux中打印.为什么?

错误

Jea*_*bre 6

与c无关,您正在对system不一定存在的命令执行调用.

color存在于Windows shell中,但不存在于Linux上.您的代码在Linux上不可移植.

Linux有自己的方式.setterm如果您检测到Linux(或编译时),您应该检查您正在运行的操作系统并调用实例,因此您已经涵盖了Windows和Linux.

作为便携式替代方案,标准ANSI转义序列也可在许多操作系统上广泛使用(对于Windows,您需要Windows 10)