Zapis sformatowanego tekstu do string-u

0

Witam!

Chciałbym się zapytać, czy jest możliwy zapis sformatowanego (chodzi mi o zmianę koloru tła i czcionki) tekstu do zmiennej (string). Tak, żebym za każdym razem nie musiał ustawiać tych atrybutów tylko, żeby były one już przypisane do jakiegoś tekstu na stałe. Nie wiem jak to jeszcze ująć... Np. mam tekst

string Tekst = "hahahahaha";

ale chce, żeby w tym stringu miał kolor tła niebieski, żeby przy

cout << Tekst;

wyświetliło mi tekst "hahahahaha" na niebieskim tle.

Proszę o jakieś Wasze pomysły, sugestie, rozwiązania.

PS. Chodzi oczywiście o aplikacje konsolowe, piszę w Dev-C++

0

pod linuksem, w terminalu - tak. zerknij na kody kontrolne ansi vt100/vt400 - specjalne sekwencje znakow mowiace terminalowi ze "od tej pory tekst nalezy wyswietlac inaczej"
pod windowsem - nie. bedziesz musial stworzyc sobie klaske-opakowanie na stringa z przeciazonym operatorem/ami, ktora odpowiednio bedzie wolac settextattribute

0

Ok, czyli będę to musiał jakoś przemęczyć pod windowsem ;)
Dzięki, pozdrawiam.

0

Hmmm, ale jest sprawa.... Nie mam pojęcia jak to zrobić, może mi podpowiesz jak by miała wyglądać ogólna budowa tej klasy, nie mam zupełnie pomysłu jak ją zaprojektować...

0

Na przykład tak może wyglądać:

class fmt_str
{
	string&	m_str;
public:
	fmt_str(const string &s):m_str(s) {}

	friend ostream& operator<<(ostream&,const fmt_str&);
};

ostream& operator<<(ostream &os,const fmt_str &fmt)
{
	// tu parsujesz stringa 
	os << fmt.m_str;
	return os;
}

//użycie
string text = "asasasasaas";

cout << fmt_str(text) << endl;
0

Dzięki ;) Na pewno sporo mi to pomoże ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1