C Programmeerimine

Kuidas kasutada avatud süsteemikõnet C-s

Kuidas kasutada avatud süsteemikõnet C-s

Süsteemikõnesid kasutatakse Linuxi distributsioonides, et pakkuda ukseava Linuxi operatsioonisüsteemis ja programmides. Linuxi operatsioonisüsteem kasutab Glibci teeki, et toetada selles süsteemikõnesid C-keele kasutamisel. Ka süsteemikõnede kasutamiseks on palju rohkem võimalusi. Selles artikli juhendis käsitleme avatud süsteemi väljakutset Linuxi süsteemis. Teel määratud faili kiireks avamiseks on kasutatud süsteemikõnet “Ava”. See andis meile teada kasutaja loodud faili failikirjeldaja kohta. Oleme kasutanud Ubuntu 20.04, et saada praktilist „avatud“ süsteemi kõnet.

Installige teegid

C-keel eeldab eeltingimustena mõne täiendava teegipaketi installimist. Kõigepealt peate süsteemikõnedega seotud teabe kontrollimiseks installima paketi manpages-dev. Avage tegevuspiirkonnalt käsureaterminal ja täitke allpool toodud juhised manlehtede installimiseks.

$ sudo apt install manpages-dev

Väljund installimise lõpuleviimiseks on toodud allpool.

Nüüd kontrollime avatud süsteemi kõnet, kasutades allpool olevat käsku "man".

$ man 2 on avatud

Allpool on näidatud süsteemi “Open” kõne väljundkäsuleht. Näete selle kohta lisateavet. Sellest väljumiseks vajutage nuppu „q“.

Ülaltoodud süntaks näitab kolme esimest rida vajalikke teeke, mis lisatakse süsteemikõnede jaoks. Avatud süsteemi kõne jaoks on saadaval kolm süntaksi. Esimeses süntaksis kuvatakse „pathname”, mis on avatava faili nimi. Teine parameeter „lipud” näitab faili režiimi, nt.g., lugeda või kirjutada. Teist süntaksit saab kasutada siis, kui faili pole olemas. Parameetrirežiimi kasutatakse failis olevate õiguste kuvamiseks.

Nüüd on aeg installida GCC kompilaator C-koodi silumiseks Ubuntu 20-s.04 Linuxi levitamine. Selleks täitke selleks shellis järgmine juhis.

$ sudo apt install gcc

GCC kompilaatori installimise jätkamiseks peate puudutama nuppu "Y", vastasel juhul vajutage installi sulgemiseks nuppu "n". Nii et vajutage y-nuppu ja vajutage jätkamiseks Enter.

Valmimise väljund on näidatud allpool.

Näide 01

Vaatame süsteemi avatud kõne väga lihtsat näidet. Esiteks avage kõigepealt käsukest ja looge uus tekstifail „test.txt ”, kasutades lihtsat puutetundlikku käsku järgmiselt:

$ puutetesti.txt

Lisage sellele mõned andmed käsitsi. Andmeid failis näete alloleva kassi käsu abil.

$ kassi test.txt

Nüüd loome uue C-faili, kasutades kestas olevat nano-käsku, nagu allpool näidatud.

$ nano uus.c

Allpool olev GNU nanofail avatakse. Sellesse peate sisestama allpool oleva C-koodi. Näete, et C-koodi nõuetekohaseks täitmiseks oleme lisanud vajalikud teegipaketid. Pärast seda oleme määratlenud põhifunktsiooni, mis töötab avatud süsteemi kõnega. Oleme deklareerinud kaks täisarvu muutujat. Muutujat n kasutatakse puhvriväärtuste loendamiseks ja fd faili kirjeldaja jaoks. Oleme kuulutanud, et tähemärgi tüüpi puhvermassiiv on “buf”, mille suurus on 50. Avatud süsteemikõnet on kasutatud sisu lugemiseks failist “test.txt ”ja tagastage see failikirjeldajale. „O_RDONLY” on kasutatud lugemiseks. Järgmine rida näitab loetud süsteemi kõnet, et koguda puhverist 10 baiti ja viia see täisarvu n. Samuti on kirjutamiskäsku kasutatud sisu või puhverandmete kirjutamiseks failikirjeldajaks, mis on väljundiekraan. Meie puhul on see praegu. Salvestage see fail, kasutades klahve Ctrl + S ja sulgege see käsuga Ctrl + X.

# kaasata
# kaasata
# kaasata
# kaasata
int main ()

int n, fd;
char buf [50];
fd = avatud (“test.txt ”, O_RDONLY);
n = loetud (fd, buf, 10);
kirjuta (1, buf, 10);

Koostame kõigepealt avatud süsteemi kõne C-koodi, kasutades allpool käsku gcc.

$ gcc uus.c

Nüüd on aeg kontrollida avatud süsteemi kõne C-koodi väljundit. Kasutame allpool toodud a.välja käsk kestas. Väljundis kuvatakse faili "test" 10 baiti.txt ”.

$ ./ a.välja

Võtame veel ühe näite, et kirjutada ühe faili sisu teise faili, kasutades avatud süsteemikõnet. Uue C-faili loomiseks nano-käsu abil, nagu allpool.

$ nano uus.c

Nii et võtke sama kood koos väikeste muudatustega. Oleme koodis määranud veel ühe failikirjelduse kui “fd1”. Kogu kood on sama, välja arvatud üks täiendav rida. Koodi teisel viimasel real on avatud süsteemi kõne abil loodud uus fail nimega „target“, kasutades O_CREAT ja režiimi, kirjutamiseks ainult O_WRONLY. 0642 näitab sellele failile määratud õigusi. Ja fail on tagastatud uue failikirjeldaja juurde. Järgmine rida on näidanud käsu sisu baitide kirjutamiseks puhvrisse vastavalt selle failikirjeldile. Salvestage fail ja sulgege see.

C-keele faili silumiseks käivitage käsk gcc compile.

$ gcc uus.c

C-koodi väljundi kuvamiseks proovige a.välja juhised kestas nagu allpool. Väljundit pole, kuna väljund on ümber suunatud äsja loodud faili „target”.

$ ./ a.välja

Kontrollime faili sihtmärgi andmeid kassi käsu abil. Väljund näitab, et failil on 20 baiti.

$ kassi sihtmärk

Järeldus

Ülalolevas õpetuses selgitasime teile, et kasutage avatud süsteemi kõnet C-keeles, kasutades kompileerijat gcc. Selles juhendis selgitatud erinevate näidete abil saate soovitud programmi rakendada.

5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...
League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...