「textcolor();」を知っていますC++用であり、UNIX用のメソッドを見てきました...しかし、Windows用の方法もありますか?
#include <stdio.h>
int main()
{
printf("\ntest - C programming text color!");
printf("\n--------------------------------");
printf("\n\n\t\t-BREAK-\n\n");
textcolor(15);
printf("WHITE\n");
textcolor(0);
printf("BLACK\n");
textcolor(4);
printf("RED\n");
textcolor(1);
printf("BLUE\n");
textcolor(2);
printf("GREEN\n");
textcolor(5);
printf("Magenta\n");
textcolor(14);
printf("YELLOW\n");
textcolor(3);
printf("CYAN\n");
textcolor(7);
printf("LIGHT GRAY\n");
}
私はネット上で何も見つけることができません...スタックオーバーフローの善良な人々が助けてくれることを願っています:D
C++ではなくCをお願いします
CおよびWindows固有のソリューションが必要なため、Win32 APIでSetConsoleTextAttribute()
関数を使用することをお勧めします。コンソールへのハンドルを取得して、適切な属性で渡す必要があります。
簡単な例として:
/* Change console text color, then restore it back to normal. */
#include <stdio.h>
#include <windows.h>
int main() {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO consoleInfo;
Word saved_attributes;
/* Save current attributes */
GetConsoleScreenBufferInfo(hConsole, &consoleInfo);
saved_attributes = consoleInfo.wAttributes;
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
printf("This is some Nice COLORFUL text, isn't it?");
/* Restore original attributes */
SetConsoleTextAttribute(hConsole, saved_attributes);
printf("Back to normal");
return 0;
}
使用可能な属性の詳細については、 ここ を参照してください。
お役に立てれば! :)
ここに行きます: http://msdn.Microsoft.com/en-us/library/windows/desktop/ms686047(v = vs.85).aspx
SOの1つの使用法をここで確認できます。 この式の意味は?(CのSetConsoleTextAttribute関数)