Different Color Text

How do I change the color of text in c++. I've used system("color") to change all the text of the console output, but I need to find out how to do with just two letters that belong to two different variables.

thank you Duoas! Also I accidentally reported your post.
alright how do I assign a color to a variable. Tried this retard assignment, but it obviously didn't work. I want name2 to be printed in standard console color and name to be printed in whatever color I tried assigning it here.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

using namespace std;

int main()
{
    string name = "Ricky";
    string name2 = "Jake";
    name =  SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 0xE4 );
    cout << name << endl;
    cout << name2 << endl;


    return 0;
}

Last edited on
you can't assign a color to a variable you have to change the color manually

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main()
{
	HANDLE std_output = GetStdHandle(STD_OUTPUT_HANDLE);
	
	string name = "Ricky";
	string name2 = "Jake";
	
	
	SetConsoleTextAttribute(std_output, FOREGROUND_BLUE);
	cout << name << endl;
	
	
	SetConsoleTextAttribute(std_output, FOREGROUND_GREEN);
	cout << name2 << endl;

	std::cin.ignore();
	return 0;
}
Last edited on
Okay so I'm pretty sure what I want to do for my program is impossible since you can't assign a color to a variable. I wanted to make the X's yellow and the O's red for my tic tac toe game. I'm passing both letters by reference.
it's not impossible you just need to get creative.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <Windows.h>
char color_char(const char inChar);

int main()
{
	const int SIZE = 10;
	char arr[SIZE] = "xOhelXjio";

	for (unsigned i = 0; i < SIZE; ++i)
		std::cout << color_char(arr[i]);


	std::cin.ignore();
	return 0;
}

char color_char(const char inChar)
{
	HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
	int color = 0;
	switch (inChar)
	{
		break;
	case 'X':
	case 'x':
		color = 12; //bright red
		break;
	case 'O':
	case 'o':
		color = 14; //bright yellow
		break;
	default:
		color = 7; //gray
		break;

	}
	SetConsoleTextAttribute(hcon, color);
	return inChar;
}
Last edited on
Topic archived. No new replies allowed.