Ixazululiwe: myFgets in c

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.

Okuthunyelwe okuhlobene:

Shiya amazwana