Kuxazululiwe: phrinta ngopinki ngo-c

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.

Okuthunyelwe okuhlobene:

Shiya amazwana