Impela, asiqalise!
Phrinta ngopinki isitatimende sokuphrinta esinombala opinki ophumayo wombhalo ohlelweni luka-C. Lo msebenzi wokuhlela awuwona ovamile, kodwa uthakazelisa impela futhi ubonisa ukuguquguquka nokuguquguquka kwe-C. Umsebenzi uhlukile kodwa ikuvumela ukuthi uqonde ukuthi kufanele ulawule ukulungiselelwa kwesibonisi setheminali ukuze uwufeze.
U-C ngokuvamile akasekeli okukhiphayo okunombala kumodi yombhalo ngokuzenzakalelayo. Nokho, singasebenzisa amalabhulali athile kanye nesethi ethile yemiyalo ukuze silawule izilungiselelo zetheminali futhi siphrinte ngombala. Ekufezeni ukuphrinta kombala obomvana, sizokusingatha ngosizo lwelabhulali ye-ncurses (umtapo wolwazi owakhelwe ukusetshenziswa okusekelwe embhalweni). Iwumtapo wolwazi wokuhlela ohlinzeka nge-API, evumela umhleli ukuthi abhale izixhumanisi zomsebenzisi ezisuselwe emibhalweni ngendlela ezimele ezimele.
Isixazululo Esingenzeka
Isixazululo esisodwa senkinga yethu kungaba ukusetshenziswa kwezindlela `zokuqala_umbala()` kanye nokuthi `init_pair()` kusuka kulabhulali ethi `ncurses`.
Nakhu ukubuka konke kwezinga eliphezulu kwesixazululo sethu:
- Okokuqala, sizofaka umtapo wezincwadi we-ncurses kukhodi yethu
- Bese siqalisa imodi ye-ncurses sisebenzisa umsebenzi othi `initscr()`
- Okulandelayo, sizoqala ukusebenza kombala ngokuthi `start_color()`
- Ngokufanayo, sizoqalisa ukubhanqwa kombala ngokuthi `init_pair()`
- Ekugcineni, sizophrinta isitatimende esisifunayo ngombala obomvana sisebenzisa `printw()`
Incazelo Yesinyathelo Nesinyathelo Yekhodi
Ake siqale ukujula ngokujulile kukhodi yesixazululo futhi siqonde ingxenye ngayinye:
// Include the ncurses library #include <ncurses.h> int main() { // Initialize ncurses mode initscr(); // checking whether terminal supports colors if (has_colors() == FALSE) { printw("Your terminal does not support color"); endwin(); return 1; } // Enable color functionality start_color(); // Initialize pink color pair init_pair(1, COLOR_MAGENTA, COLOR_BLACK); // Set the color pair and print the text attron(COLOR_PAIR(1)); printw("Hello, World!"); // Refresh the screen to see the changes refresh(); // Wait for user input so we can see the result getch(); // Clean up and close endwin(); return 0; }
Kule khodi engenhla, siqala ngokuqalisa imodi ye-ncurses sisebenzisa `initscr()`. Sibe sesihlola ukuthi ingabe itheminali yethu iyayisekela yini imibala, uma kungenjalo siqeda imodi ye-ncurses bese sibuya. Uma kwenzeka, siqala ukusebenza kombala.
Imitapo yolwazi noma Imisebenzi ehilelekile ekuphrinteni ngombala obomvana
Amaphuzu ambalwa okufanele siwaqaphele mayelana nemitapo yolwazi nezindlela esizisebenzisile:
- `start_color()` - Isetshenziselwa ukuqalisa ukusebenza kombala.
- `init_pair()` - Ishintsha incazelo ye-color-pair. Lapha, sidale ipheya entsha enengaphambili eliphinki nengemuva elimnyama.
- `COLOR_MAGENTA` โ Kuyi-macro esetshenziselwa ukuchaza umbala o-magenta (osondele kakhulu kunombala ophinki).
- `printw()` - Isetshenziselwa ukuphrinta intambo efasiteleni.
Ukuguquguquka kolimi lokuhlela lwe-C kubonakala kakhulu kulo msebenzi futhi kunikeza isikimu sokubonisa esisheshayo lapho kwakhiwa izinhlelo zekhonsoli. Ukulandela lezi zinyathelo ngendlela efanele, kufanele ukwazi ukuphrinta umbhalo wombala obomvana ezinhlelweni zakho ze-C.