উত্তর:
সমস্ত আধুনিক টার্মিনাল এমুলেটরগুলি রঙ এবং অন্যান্য জিনিসগুলি দেখানোর জন্য এএনএসআই এস্কেপ কোডগুলি ব্যবহার করে।
লাইব্রেরি নিয়ে বিরক্ত করবেন না, কোডটি খুব সহজ।
আরও তথ্য এখানে ।
সি উদাহরণ:
#include <stdio.h>
#define ANSI_COLOR_RED "\x1b[31m"
#define ANSI_COLOR_GREEN "\x1b[32m"
#define ANSI_COLOR_YELLOW "\x1b[33m"
#define ANSI_COLOR_BLUE "\x1b[34m"
#define ANSI_COLOR_MAGENTA "\x1b[35m"
#define ANSI_COLOR_CYAN "\x1b[36m"
#define ANSI_COLOR_RESET "\x1b[0m"
int main (int argc, char const *argv[]) {
printf(ANSI_COLOR_RED "This text is RED!" ANSI_COLOR_RESET "\n");
printf(ANSI_COLOR_GREEN "This text is GREEN!" ANSI_COLOR_RESET "\n");
printf(ANSI_COLOR_YELLOW "This text is YELLOW!" ANSI_COLOR_RESET "\n");
printf(ANSI_COLOR_BLUE "This text is BLUE!" ANSI_COLOR_RESET "\n");
printf(ANSI_COLOR_MAGENTA "This text is MAGENTA!" ANSI_COLOR_RESET "\n");
printf(ANSI_COLOR_CYAN "This text is CYAN!" ANSI_COLOR_RESET "\n");
return 0;
}
রঙের সিকোয়েন্সগুলির সাথে ডিল করা অগোছালো হতে পারে এবং বিভিন্ন সিস্টেম বিভিন্ন রঙ সিকোয়েন্স সূচক ব্যবহার করতে পারে।
আমি আপনাকে ncurses ব্যবহার করার চেষ্টা করব । রঙ ব্যতীত এনক্রোস কনসোল ইউআই সহ আরও অনেক ঝরঝরে কাজ করতে পারে।
রঙিন টার্মিনাল আউটপুট পেতে আপনি বিশেষ রঙ নিয়ন্ত্রণ কোড আউটপুট করতে পারেন, রঙগুলি কীভাবে প্রিন্ট করা যায় সে সম্পর্কে এখানে একটি ভাল উত্স ।
উদাহরণ স্বরূপ:
printf("\033[22;34mHello, world!\033[0m"); // shows a blue hello world
সম্পাদনা: আমার আসলটি প্রম্পট কালার কোড ব্যবহার করেছে, যা কাজ করে না :( এইটি করে (আমি এটি পরীক্ষা করেছি))।
edition.c: In function ‘int main(int, const char**)’: edition.c:4: error: unknown escape sequence '\]' edition.c:4: error: unknown escape sequence '\]' edition.c edition.c~
সংকলনের ত্রুটিগুলির একগুচ্ছ ছাড়া আর কিছুই নয় :(
22
দ্বারা 1
এটি দেখতে গাঢ় ।
আপনি আরও কার্যকরী করতে প্রতিটি কার্যকারিতার জন্য একটি রঙ নির্ধারণ করতে পারেন।
#define Color_Red "\33[0:31m\\]" // Color Start
#define Color_end "\33[0m\\]" // To flush out prev settings
#define LOG_RED(X) printf("%s %s %s",Color_Red,X,Color_end)
foo()
{
LOG_RED("This is in Red Color");
}
বুদ্ধিমানের মতো আপনি বিভিন্ন রঙের কোড নির্বাচন করতে পারেন এবং এটি আরও জেনেরিক করতে পারেন।
কারণ আপনি স্ট্রিং বিন্যাস সহ একটি অক্ষর মুদ্রণ করতে পারবেন না। আপনি এই জাতীয় কিছু দিয়ে একটি ফর্ম্যাট যুক্ত করার কথা ভাবতে পারেন
#define PRINTC(c,f,s) printf ("\033[%dm" f "\033[0m", 30 + c, s)
f
হিসাবে হিসাবে ফর্ম্যাট হয় printf
PRINTC (4, "%s\n", "bar")
মুদ্রণ করবে blue bar
PRINTC (1, "%d", 'a')
মুদ্রণ করবে red 97
#include <stdio.h>
#define BLUE(string) "\x1b[34m" string "\x1b[0m"
#define RED(string) "\x1b[31m" string "\x1b[0m"
int main(void)
{
printf("this is " RED("red") "!\n");
// a somewhat more complex ...
printf("this is " BLUE("%s") "!\n","blue");
return 0;
}
পড়া উইকিপিডিয়া :