Merhabalar, C++ Consol ekranındaki yazılarımıza nasıl renk verebiliriz ?
Bunu gösterelim. bunu dilersek Visual Studio bir eklenti ile veya kon satırımıza bir fonksiyon ile veya şimdi göreceğimiz yöntem ile yapabiliriz. şuanda bize en kolay ve işimize yarıyan Yol bir kütüphane eklemek olur. Standart Consol kodlarımızın başına #include “ConsoleColor.h” Kütüpanesi çağırıyoruz ve “ConsoleColor.h” adlı bir Header oluşturuyoruz. Hemen Kod dizinimize gecelim ve test edelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include "stdafx.h" #include <iostream> #include "ConsoleColor.h" // <------- /* ->Blue - Mavi ->Red - Kırmızı ->Green - Yeşil ->Yellow - Sarı ->White - Beyaz Bu kodları kullanarak yazınızın rengini değiştire biliriz. */ using namespace std; int main() { cout << "receperdogan.net : " << red << "Bu Yazi Kirmizi " << yellow << "Bu Yazi Sari " << white << endl; system("PAUSE"); return 0; } |
ConsoleColor.h Kütüpanesi Kodları.
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
#pragma once #include <iostream> #include <windows.h> inline std::ostream& blue(std::ostream &s) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY); return s; } inline std::ostream& red(std::ostream &s) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_INTENSITY); return s; } inline std::ostream& green(std::ostream &s) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN | FOREGROUND_INTENSITY); return s; } inline std::ostream& yellow(std::ostream &s) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY); return s; } inline std::ostream& white(std::ostream &s) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); return s; } struct color { color(WORD attribute) :m_color(attribute) {}; WORD m_color; }; template <class _Elem, class _Traits> std::basic_ostream<_Elem, _Traits>& operator<<(std::basic_ostream<_Elem, _Traits>& i, color& c) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdout, c.m_color); return i; } |
2 yorum
Sayenizde başladığım yazılım dilinde sizin sitenizden birşeyler öğrenmek bana gurur veriyor ve anlatımınızı cok beyeniyorum teşekürler. başarılarınız devamını diliyorum.
Ben Teşekkür Ederim Ponçik Kardeş 😀