系统颜色动态变化c

时间:2015-09-15 21:16:36

标签: c colors system

为什么我不能这样做;

char backgroundColor='c',textColor='e';
printf("Please, enter background color: "); scanf("%c",&backgroundColor);
printf("Please, enter text color: "); scanf("%c",&textColor);
system("color "+backgroundColor+textColor);

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您无法在C中添加字符串。控制台颜色由color BF设置,其中B是背景颜色,F是前景(文本)颜色,十六进制。因此color 1E将设置蓝色背景和黄色文字。另外,scanf需要%c之前的空格,如此处所示,以清除newline

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char backgroundColor='c',textColor='e';
    char sysmes[] = "color BF";

    printf("Please, enter background color: "); 
    scanf(" %c",&backgroundColor);

    printf("Please, enter text color: "); 
    scanf(" %c",&textColor);

    sysmes[6] = backgroundColor;
    sysmes[7] = textColor;
    system(sysmes);
    return 0;
}