Impela, ake siqale nge-athikili:
I-myFgets ingomunye wemisebenzi eyisisekelo ku-C yokuthola okokufaka kumsebenzisi. Iyingxenye yomtapo wezincwadi we-stdio futhi igqama njengenye indlela ephephile kwabanye ozakwabo njenge-scaf, ngenxa yamandla ayo okuvimbela ukuchichima kwebhafa.
#include <stdio.h> #define SIZE 100 int main() { char str[SIZE]; printf("Enter a string: "); if(fgets(str, SIZE, stdin) != NULL) { printf("You entered: "); puts(str); } return 0; }
Ngemva kokuqala ngesingeniso esifushane mayelana ne-myFgets, ikhodi C enikeziwe ngenhla isebenzisa umsebenzi we-myFgets ukuze uthole okokufaka kweyunithi yezinhlamvu kumsebenzisi.
Isebenza kanjani i-myFgets?
Umsebenzi we-fgets ukufunda iyunithi yezinhlamvu kusukela kokokufaka okujwayelekile (stdin), ngokuvamile ikhibhodi. Umsebenzi we-fgets awufani neminye imisebenzi yokufaka ku-C esidingweni sawo samapharamitha amathathu: ibhafa ongafunda kuyo okokufaka, usayizi omkhulu webhafa, kanye nokusakaza okokufaka okufundwa kukho. Ngokukhethekile, ngemva kokufunda iyunithi yezinhlamvu, i-fgets yengeza uhlamvu olungenalutho ('') kuze kube sekugcineni.
Ukuqonda ikhodi engenhla
Umsebenzi ochazwe ngenhla uqala ngokumemezela iyunithi yezinhlamvu (i-char array) yosayizi othile (SIZE). Bese itshela umsebenzisi ukuthi afake iyunithi yezinhlamvu. Ekufakweni komsebenzisi, isitatimende esinemibandela sihlola ukuthi umsebenzi we-fget ukwazile yini ukufunda uchungechunge. Uma ikwazile, iyaqhubeka nokuphrinta iyunithi yezinhlamvu efanayo emuva esikrinini isebenzisa umsebenzi we-puts.
Ekuqondeni ubudlelwano phakathi kwama-fget, usayizi webhafa kanye nokuvimbela ukuchichima kwebhafa, kubalulekile ukuqaphela ukuthi inani lezinhlamvu ezifundwa ama-fget lingaphansi kokukodwa kukaSIZE oshiwo. Lokhu kwenziwa ukuze kufakwe uhlamvu olungenalutho ekugcineni kokufaka.
Imitapo yolwazi efanelekile kanye nemisebenzi
Ngokwemitapo yolwazi, i-stdio.h ingenye yemitapo yolwazi eyisisekelo kakhulu ku-C, esetshenziselwa imisebenzi yokufaka/yokukhiphayo. Indlela yokusebenzisa ilula njengokuyifaka ekuqaleni kwekhodi C usebenzisa isiyalelo esithi #include.
Mayelana nemisebenzi esetshenziswe kule khodi, i-fgets ingeyalo mtapo wolwazi, kanye nama-puts and printf. Ngenkathi i-fgets icwaninga, i- puts isetshenziselwa ukubhala iyunithi yezinhlamvu ukuze ifinyelele kodwa ingafaki uhlamvu olungenalutho. Umsebenzi we-printf wenza uchungechunge lwedatha yokuphumayo, ngokusekelwe kuchungechunge lwefomethi nama-agumenti.
Sicela uqaphele ukuthi ngendlela ephephile nesebenzayo yokufaka iyunithi yezinhlamvu evela kumsebenzisi, i-myFgets inerekhodi eliqinisekisiwe endaweni yezinhlelo ze-C, ngokuhlanganisa usayizi wokokufaka, futhi ngaleyo ndlela ivimbele ukuchichima kwebhafa okungaba khona.