Muidugi, sukeldume otse sellesse.
Selge ekraan C-s on programmeerimises sageli arutatud teema, eriti konsoolipรตhiste programmide valdkonnas. Teatud stsenaariumide korral on vaja konsooliekraan programmiliselt tรผhjendada. Selles artiklis kรคsitleme selle probleemi lahendusi ja sรผveneme funktsioonidesse vรตi teekidesse, mida selle saavutamiseks kasutada.
#include <stdlib.h> int main() { system("clear"); return 0; }
รlaltoodud kood nรคitab รผht lihtsaimat viisi konsooliekraani tรผhjendamiseks. Me kasutame sรผsteemi funktsioon alates stdlib.h teek, mis on osa C standardteegist. Sellele funktsioonile edastatav argument on kรคsurea kรคsk. String "clear" on UNIX-i kรคsk, mis tรผhjendab konsooliakna. Jรคrelikult viib selle funktsiooni tรคitmine soovitud tulemuseni.
Stdlib teegi roll
. stdlib.h raamatukogus on C-s hulgaliselt funktsioone, mis tegelevad mรคlu eraldamise, protsesside juhtimise, teisendamise ja muuga. Sรผsteemi funktsioon kuulub sellesse teeki. Seda kasutatakse kรคskude edastamiseks kรคsutรตlgile, mis seejรคrel need kรคsud tรคidab. See annab programmeerijatele teatud kontrolli sรผsteemi protsesside รผle.
Sรผsteemi funktsiooni mรตistmine
. sรผsteemi funktsioon vรตtab sisendiks mรคrgistringi. See string vรตib olla mis tahes kรคsk, mida saab kรคivitada sรผsteemi kรคsurea liideses. Funktsioon saadab selle kรคsustringi kรคsutรตlkile, mis omakorda tรคidab kรคsu ja vรคljastab tulemuse. Oma probleemi kontekstis kasutame seda tรตlgile kรคsu "clear" saatmiseks, mis viib tรผhjendatud konsooliekraanile.
Kaasaskantavad lahendused ekraani tรผhjendamiseks
See tekitab aga kaasaskantavuse probleemi. Kรคsk "clear" on peamiselt UNIX-i kรคsk ja see ei pruugi tรถรถtada muudes keskkondades, nagu Windows. Selle probleemi lahendamiseks saame keskkonna kontrollimiseks kasutada eelprotsessori direktiive ja kasutada vastavat kรคsku.
#include <stdlib.h> int main() { #ifdef _WIN32 system("cls"); #else system("clear"); #endif return 0; }
รlaltoodud koodis kasutame _WIN32 makro et kontrollida, kas programmi kรคitatakse Windowsi keskkonnas. Kui on, kasutame konsooli tรผhjendamiseks kรคsku "cls", vastasel juhul kasutame kรคsku "clear". See annab meie koodile suurema kaasaskantavuse.
Kokkuvรตtteks vรตib รถelda, et selge ekraan C-s on mitme lahendusega probleem ning selle aluseks oleva meetodi ja funktsioonide mรตistmine on tรถรถ jaoks รตige tรถรถriista valimisel รผlioluline. Kuigi teegid, nagu stdlib, pakuvad meile funktsioone sรผsteemiprotsessidega suhtlemiseks, peame arvestama ka lahenduse kaasaskantavusega erinevates sรผsteemikeskkondades.