Ошибка цветного вывода в консоль
Я пытаюсь сделать цветной вывод в консоли и столкнулся с проблемой. При выводе цветных символов появились аномалии (они появляются в любом варианте вывода, причем такой же код на python работает нормально).
#include <iostream>
#include "windows.h"
#include <sstream>
using namespace std;
stringstream ss;
string pixel(float r, float g, float b, string str = " "){
ss.clear();
ss << "\033[48;2;" << r << ";" << g <<";" << b <<"m"<< str <<"\033[0;0m";
return ss.str();
}
int main(){
cout << pixel(0, 0, 0) + pixel(0, 255, 0)<<endl;
}
Вывод этого кода (пробел с измененным задним фоном)(зеленый??, пробел??, зеленый):
Черный "пиксель", потом зеленый, без пробела.
Код на python:
def rgbPrint(rgb):
print(f"\033[48;2;{rgb[0]};{rgb[1]};{rgb[2]}m \033[0;0m", end = '')
rgbPrint([0, 0, 0])
rgbPrint([0, 255, 0])
OS: Windows 11
компилятор: g++ version 7.3.0
Консоль: стандартная, "cmd.exe" в терминале Windows 11
Инфу о том, как сделать RGB в консоли брал отсюда