Posix Open Function na may C Programming

Posix Open Function With C Programming



Ang konsepto ng paghawak ng file ay malawakang ginagamit sa lahat ng mga wika ng programa. Partikular para sa C at C ++, mahahanap mo ang isang malawak na panitikan sa impormasyon tungkol sa konsepto ng paghawak ng file. Tuwing nais mong i-access o baguhin ang isang file sa C o C ++, dapat mo munang buksan ito, alinman sa pagbabasa o pagsusulat. Ang gawain ng pagbubukas ng isang file ay nagagawa sa tulong ng pagpapaandar ng Posix Open.

Naglalaman ang pagpapaandar na ito ng isang hanay ng mga parameter na naipasa kasama ng pagpapaandar na ito upang buksan ang isang tinukoy na file. Tatalakayin namin ang mga parameter na ito sa susunod na heading ng aming artikulo. Gayunpaman, ang pangunahing layunin ng artikulong ito ay upang turuan ka tungkol sa paggamit ng pagpapaandar ng Posix Open sa Linux Mint 20. Sa artikulong ito, alamin kung paano gumagana ang pagpapaandar na Buksan sa C programa.







Mga Parameter ng Posix Open Function

Ang pagpapaandar ng Posix Open ay naglalaman ng dalawang mga parameter na higit na nahahati sa iba't ibang mga uri. Ang unang parameter ay kilala bilang Landas , na tumutukoy sa lokasyon ng file na nais mong buksan. Kung lumilikha ka ng iyong C code upang buksan ang isang file sa parehong direktoryo kung saan nakatira ang file na ito, kailangan mo lamang isulat ang pangalan ng file at alisin ang landas nito. Gayunpaman, kung ang file na bubuksan ay naninirahan sa anumang iba pang direktoryo, pagkatapos ay dapat mong tukuyin ang kumpletong landas nito bilang isang parameter sa Buksan ang function na sinusundan ng forward-slash (/).



Ang pangalawang parameter ng pagpapaandar ng Posix Open ay kilala bilang Bandila , na tumutukoy sa mga pagpipilian na maaari mong buksan ang isang file. Ang mga pagpipiliang ito ay read-only, magsulat lamang, magbasa at magsulat, lumikha ng file, at maiwasan ang paggawa ng file. Ang kaukulang watawat ng mga pagpapatakbo na ito ay O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, at O_EXCL ayon sa pagkakabanggit. Maaari mong gamitin ang isa sa mga watawat na ito nang paisa-isa o maaari mong pagsamahin ang higit sa isang flag nang sabay-sabay, depende sa iyong mga kinakailangan, pinaghiwalay ng | simbolo. Magsisimula kang maunawaan ang mga watawat na ito nang mas malinaw pagkatapos basahin ang halimbawang ibinigay sa ibaba.



Halimbawa: Gamit ang Posix Open Function sa Linux Mint 20

Upang magbigay ng isang halimbawa ng paggamit ng function na Posix Open na may C programming sa Linux Mint 20, gumawa kami ng isang programa na sumusubok na buksan ang isang file. Kung mayroon nang file na iyon, buksan lamang ito ng pagpapaandar na ito; kung hindi man, ang pagpapaandar ay lilikha ng isang file na may tinukoy na pangalan. Ngayon, titingnan namin ang lahat ng mga yugto ng pagpapatupad ng program na ito, simula sa paglikha nito.





Hakbang 1: Lumikha ng Sample Program upang Subukan ang Posix Open Function

Dito, lumikha kami ng isang dokumento sa direktoryo ng Home ng aming system ng Linux Mint 20 at pinangalanan itong OpenFunction.c. Matapos likhain ang dokumentong ito, bubuksan namin ito at i-type ang code na ipinapakita sa imahe sa ibaba sa file na iyon.



Sa code na ipinakita sa imahe sa itaas, lumikha kami ng isang variable na integer, na pinangalanan taut , na tumutukoy sa File Descriptor. Ang variable na ito ay itatalaga ang halaga ng pagbabalik ng Open function. Ang halaga ng variable na ito ay magiging 3 kung matagumpay na naisakatuparan ang Open function. Kung hindi man, ang halaga nito ay -1. Sa mga parameter ng Open function, nagbigay kami ng isang filename, ibig sabihin, NewFile.txt. Ang file na ito ay hindi umiiral sa aming system dati, na nangangahulugang ang aming Open function ay lilikha ng file na ito.

Gayundin, tinukoy namin sa pamamagitan ng mga watawat ng Buksan na pag-andar na kung ang file ay mayroon na, kung gayon ang file ay dapat buksan sa read-only mode; samantalang kung wala ito, pagkatapos ay ang function na Buksan ay lilikha lamang ng isang file na may tinukoy na pangalan. Natukoy din namin na kung ang halaga ng taut ang variable ay mas mababa sa zero, pagkatapos ay i-print din ng pagpapaandar ang error na nangyari habang binubuksan ang tinukoy na file. Panghuli, maaari mong i-save ang iyong code sa pamamagitan ng pagpindot Ctrl + S .

Hakbang 2: Mag-compile ng Sample Program

Matapos isulat ang sample na programa, ilulunsad namin ang terminal upang maitala ito sa sumusunod na utos:

$gccOpenFunction.c –o OpenFunction

Dito, ang OpenFunction.c ay tumutukoy sa sample na file ng programa na nais naming ipagsama, samantalang ang OpenFunction pagkatapos ng -o flag ay tumutukoy sa object file na malilikha pagkatapos ng compilation.

Kung ang pagsasama-sama ng aming sample na programa ay matagumpay na natupad, pagkatapos ay hindi kami makakakita ng anumang mga mensahe ng error sa terminal pagkatapos na patakbuhin ang programa, tulad ng ipinakita sa imahe sa ibaba:

Hakbang 3: Patakbuhin ang Sample Program

Panghuli, pagkatapos na maipon ang aming sample na programa, maaari naming itong patakbuhin sa Linux Mint 20 sa pamamagitan ng pag-isyu ng sumusunod na utos:

$./OpenFunction

Dito, tumutukoy ang OpenFunction sa parehong file ng object na nilikha kasunod ng pagtitipon ng aming sample na programa.

Maaari mong makita sa output ng aming sample na programa sa imahe sa ibaba na ang halaga ng aming variable ng File Descriptor, ibig sabihin, taut , ay 3. Ang output na ito ay nangangahulugang ang code ay matagumpay na naisakatuparan. Sa madaling salita, isang file na nagngangalang NewFile.txt ay matagumpay na nilikha, dahil ang file ay hindi umiiral dati sa aming system. Kung nais mo, maaari mo ring puntahan at suriin ito sa iyong direktoryo sa Home upang i-verify kung ang file ay nalikha.

Konklusyon

Ipinakita sa iyo ng tutorial ngayon kung paano gamitin ang pagpapaandar ng Posix Open na may C na programa sa Linux Mint 20. Inaasahan ko, ang ibinigay na halimbawa ay sapat upang bigyang-diin ang kahalagahan ng pagpapaandar na ito. Hindi alintana kung ano ang dahilan para sa pagbubukas ng isang file, kailangan mo pa ring gamitin ang pagpapaandar na ito upang makakuha ng pag-access sa isang file. Kung wala ang pagpapaandar na ito, hindi mo ma-access ang anumang mga file. Samakatuwid, dapat mong malaman ang paggamit ng pagpapaandar na ito bago magsagawa ng paghawak ng file sa C at C ++.