-1 c
最近,我遇到了一个问题.
#include <stdio.h>
#include <stdlib.h>
void main()
{
system("color 1F");
}
Run Code Online (Sandbox Code Playgroud)
这可以打印Windows,但不能在Linux中打印.为什么?
与c无关,您正在对system不一定存在的命令执行调用.
color存在于Windows shell中,但不存在于Linux上.您的代码在Linux上不可移植.
Linux有自己的方式.setterm如果您检测到Linux(或编译时),您应该检查您正在运行的操作系统并调用实例,因此您已经涵盖了Windows和Linux.
作为便携式替代方案,标准ANSI转义序列也可在许多操作系统上广泛使用(对于Windows,您需要Windows 10)