Ratkaistu: paina vaaleanpunaisena c

Viimeisin päivitys: 09/11/2023
Kirjoittaja: C SourceTrail

Totta kai, aloitetaan!

Painatus pinkillä on C-ohjelmoinnin vaaleanpunaiseksi väritetty print-lause. Tämä ohjelmointitehtävä ei ole yleinen, mutta se on varsin mielenkiintoinen ja esittelee C:n monipuolisuutta ja joustavuutta. Tehtävä on ainutlaatuinen, mutta antaa ymmärtää, kuinka päätteen näyttökokoonpanoja on manipuloitava sen saavuttamiseksi.

C ei yleensä tue oletusarvoisesti värillistä tulostusta tekstitilassa. Voimme kuitenkin käyttää tiettyjä kirjastoja ja tiettyjä komentoja terminaalien asetusten muokkaamiseen ja väritulostukseen. Suorittaessamme vaaleanpunaista väritulostusta käsittelemme sitä ncurses-kirjaston (tekstipohjaista käyttöliittymää varten rakennettu kirjasto) avulla. Se on ohjelmointikirjasto, joka tarjoaa API:n, jonka avulla ohjelmoija voi kirjoittaa tekstipohjaisia ​​käyttöliittymiä päätelaitteesta riippumattomalla tavalla.

Mahdollinen ratkaisu

Yksi ratkaisu ongelmaamme voisi olla "ncurses"-kirjaston menetelmien "start_color()" ja "init_pair()" käyttö.

Tässä on korkeatasoinen yleiskatsaus ratkaisustamme:


  • Ensin sisällytämme koodiimme ncurses-kirjaston
  • Sitten alustamme ncurses-tilan käyttämällä initscr()-funktiota
  • Seuraavaksi aloitamme väritoiminnot `start_color()`:lla
  • Samoin alustamme väriparin parametrilla "init_pair()".
  • Lopuksi tulostetaan haluttu lause vaaleanpunaisena käyttämällä "printw()"-komentoa

Koodin vaiheittainen selitys

Aloitetaan sukeltaminen syvemmälle ratkaisukoodiin ja ymmärretään jokainen osa:

// 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;
}

Yllä olevassa koodissa alustamme ensin ncurses-tilan käyttämällä "initscr()". Tarkistamme sitten tukeeko päätteemme värejä, jos ei, lopetamme ncurses-tilan ja palaamme. Jos näin käy, aloitamme väritoiminnon.

Kirjastot tai toiminnot, jotka liittyvät vaaleanpunaiseen tulostamiseen

Pari asiaa kannattaa huomioida käyttämistämme kirjastoista ja menetelmistä:

  • `start_color()` – Käytetään väritoiminnon käynnistämiseen.
  • `init_pair()` – Se muuttaa väriparin määritelmää. Täällä loimme uuden parin vaaleanpunaisella etualalla ja mustalla taustalla.
  • `COLOR_MAGENTA` – Se on makro, jota käytetään ilmaisemaan magentaa (lähin vaaleanpunaista).
  • `printw()` – Sitä käytetään tulostamaan merkkijono ikkunaan.

C-ohjelmointikielen monipuolisuus näkyy tässä harjoituksessa varsin selvästi ja tarjoaa nopean näyttömallin konsoliohjelmia kehitettäessä. Kun noudatat näitä ohjeita oikein, sinun pitäisi pystyä tulostamaan vaaleanpunaista tekstiä C-ohjelmissasi.

Related viestiä: