问题描述
代码:
#define WINVER 0x0500
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <Windows.h>
#include <stdbool.h>
char arrayOfColors[][4] = {"Blue Background","Red Background","Green Background","Gray Background"};
FILE *preferences;
char preference[500];
int main()
{
HWND wh = GetConsoleWindow();
preferences = fopen("calendarpreferences.txt","r");
fgets(preference,500,preferences);
if(strcmp(arrayOfColors[0],preference) == 0)
{
SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE);
fclose(preferences);
}
else if(strcmp(arrayOfColors[1],FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_RED);
fclose(preferences);
}
else if(strcmp(arrayOfColors[2],FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_GREEN);
fclose(preferences);
}
else if(strcmp(arrayOfColors[3],FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_INTENSITY);
fclose(preferences);
}
else
{
SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE);
fclose(preferences);
}
}
这段代码应该做的是:首先,从一个文本文件中读取。此文本文件具有Blue Background
或Red Background
或Green Background
或Gray Background
。数组也有那些元素。
这样做之后,它将比较从文件中获得的内容和数组的元素。如果其中之一相等,则控制台的背景将更改为上述颜色。否则,控制台的背景将变成蓝色。
但就我而言,它根本不这样做。我还尝试将颜色数组改为指针数组,但这甚至行不通。
那么,我该如何解决呢?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)