• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

kolorowy kawałek tekstu

0 głosów
1,224 wizyt
pytanie zadane 13 maja 2016 w C i C++ przez TheSadSmile Użytkownik (870 p.)
Witam.

Chciałbym się dowiedzieć jak mogę zmienić kolor kawałka tekstu w cpp.

Na przykład: cout<<"Witaj "<<imie<<"!";

 

Co mam zrobić aby string imie zrobił się zielony?

4 odpowiedzi

+1 głos
odpowiedź 14 maja 2016 przez szymi666 Bywalec (2,020 p.)
wybrane 2 czerwca 2016 przez TheSadSmile
 
Najlepsza

Masz tu coś takiego

#include <Windows.h>
#include <iostream>
 
using namespace std;
 
enum Kolor
{
    CZARNY,
    CIEMNONIEBIESKI,
    ZIELONY,
    TURKUSOWY,
    BRAZOWY,
    MORSKI,
    OLIWKOWY,
    JASNOSZARY,
    SZARY,
    NIEBIESKI,
    JASNOZIELONY,
    JASNONIEBIESKI,
    CZEROWNY,
    ROZOWY,
    ZLOTY,
    BIALY
};
 
void kolor( Kolor c )
{
    SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), c );
}
 
int main()
{
    kolor( NIEBIESKI );
    cout << "Niebieski napis";
 
    return 0;
}

to moj sprawdzony sposub

komentarz 14 maja 2016 przez TheSadSmile Użytkownik (870 p.)
Działa. Już zaczynam go studiować :)

ps. Dziękuję :D
komentarz 14 maja 2016 przez szymi666 Bywalec (2,020 p.)
Spoko nie obraził bym sie jak byś dał najlepszą odpowiedź XD
+2 głosów
odpowiedź 13 maja 2016 przez Barus Stary wyjadacz (14,120 p.)

Tam gdzie zmienną lokalną (albo globalną) wstawiasz coś takiego : 

HANDLE nazwa_zmiennej = GetStdHandle(STD_OUTPUT_HANDLE);

A następnie nad tym cout dodajesz : 

SetConsoleTextAttribute(nazwa_zmiennej, numer_koloru_z_cmd);
Numery kolorów możesz zobaczyć otwierając cmd i wpisując polecenie color /?

komentarz 14 maja 2016 przez TheSadSmile Użytkownik (870 p.)

Według code::blocks, coś jest nie tak z HANDLE Janusz.

Pod windows.h i wszystkimi intami, mam:

HANDLE Janusz = GetStdHandle(STD_OUTPUT_HANDLE);

A potem w int main() mam:

cin >> Janusz;

cout<<endl;

SetConsoleTextAttribute(Janusz, 7);

cout <<Janusz;

Nie wiem co robię źle...

komentarz 14 maja 2016 przez szymi666 Bywalec (2,020 p.)
musisz dać plik nagłówkowy/bibliotekę #include<Windows.h>a nie #include<windows.h>.
komentarz 14 maja 2016 przez TheSadSmile Użytkownik (870 p.)
Ups... Źle napisałem w komentarzu... W kompilatorze mam normalnie #include <Windows.h>
+1 głos
odpowiedź 13 maja 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Jeśli używasz starszych windowsów to możesz użyć tego co podał wcześniej kolega, a jeśli używasz win10 , Linuksa, OS X (i jeszcze sporo systemów to wspiera) to zainteresuj się ANSI Escape Codes. Możesz również skorzystać z bilbioteki ncurses.
komentarz 14 maja 2016 przez TheSadSmile Użytkownik (870 p.)
Używam windowsa 8.1. Nie do końca rozumiem co system ma do tego, skoro to kompilator odwala całą robotę, a można mieć dokładnie ten sam kompilator (wersję kompilatora) na Windows 10 jak i na Windows 7. Za chwilę rzucę okiem na ANSI Escape Codes ;)
0 głosów
odpowiedź 14 maja 2016 przez TheSadSmile Użytkownik (870 p.)
Jestem początkującym, i nie do końca rozumiem o co chodzi na tamtej stronie... Spróbowałem wszystko wkleić, ale potem w int main() "set_color(Color::GREEN);" nie chciało działać ._.

Podobne pytania

0 głosów
1 odpowiedź 396 wizyt
0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 2 lipca 2017 w C i C++ przez mity4 Nowicjusz (210 p.)
0 głosów
3 odpowiedzi 964 wizyt
pytanie zadane 22 maja 2018 w C i C++ przez kamila131 Nowicjusz (140 p.)

93,691 zapytań

142,610 odpowiedzi

323,215 komentarzy

63,215 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...