• Giga@hdv-tech.com
  • Seirbhís ar Líne 24H:
    • 7189078c
    • sns03
    • 6660e33e
    • youtube 拷贝
    • instagram

    C, Léamh Doiciméad agus Scríobh

    Am postála: Lúnasa-11-2023

    Cur síos ar an gcaoi a gcruthaíonn, a osclaíonn agus a dhúnann ríomhchláraitheoir C comhad téacs, nó comhad dénártha.

    Ciallaíonn comhad, sraith beart, bíodh sé ina chomhad téacs nó ina chomhad dénártha, ní hamháin go soláthraíonn C Language rochtain ar na feidhmeanna barrleibhéil, ach soláthraíonn sé an glao bunúsach (OS) freisin chun comhaid a phróiseáil ar an ngléas stórála .Míneofar sa chaibidil seo na glaonna tábhachtacha i mbainistíocht doiciméad.

    comhad a oscailt

    De ghnáth ag baint úsáide as an fheidhm fopen () chun comhad nua a chruthú nó chun comhad atá ann cheana a oscailt, cuireann an glao seo tús le réad den chineál COMHAD ina bhfuil an fhaisnéis riachtanach go léir chun an sreabhadh a rialú.Seo fréamhshamhail an ghlao feidhme seo:

    COMHAD * fopen ( const char * ainm comhaid , const char * mód );

    Anseo is teaghrán é ainm comhaid chun comhad a ainmniú, is féidir luach an mhodha rochtana a bheith mar cheann de na luachanna seo a leanas:

    patrún

    tuairisc

    r

    Oscail comhad téacs atá ann cheana féin a ligeann duit é a léamh.

    w

    Oscail comhad téacs a ligeann duit scríobh chuig an gcomhad.Mura bhfuil an comhad ann, cruthaítear comhad nua.Anseo, scríobhann do chlár an t-ábhar ó thús an chomhaid.Má tá an comhad ann, gearrfar go nialas fad é agus athscríobhfar é.

    a

    Oscail comhad téacs agus scríobh chuig an gcomhad i mód aguisín.Mura bhfuil an comhad ann, cruthaítear comhad nua.Anseo, cuireann do chlár ábhar leis na comhaid atá agat cheana féin.

    r+

    Oscail comhad téacs a ligeann duit an comhad a léamh agus a scríobh.

    w+

    Oscail comhad téacs a ligeann duit an comhad a léamh agus a scríobh.Má tá an comhad ann cheana féin, gearrtar an comhad go fad nialasach, agus mura bhfuil an comhad ann, cruthaítear comhad nua.

    a+

    Oscail comhad téacs a ligeann duit an comhad a léamh agus a scríobh.Mura bhfuil an comhad ann, cruthaítear comhad nua.Tosaíonn an léamh ag tús an chomhaid, agus níl an scríobh ach i mód aguisín.

    Má dhéantar comhad dénártha a phróiseáil, bain úsáid as an modh rochtana seo a leanas chun an ceann thuas a athsholáthar:

    "rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

    comhad dúnta

    Chun an comhad a dhúnadh, bain úsáid as an bhfeidhm fclose().Is é seo a leanas fréamhshamhail na feidhme:

    slánuimhir ( COMHAD * fp );

    • Má dhúntar an comhad go rathúil, filleann an fheidhm fclose() náid, agus má sheolann an earráid EOF ar ais.Go deimhin, baineann an fheidhm seo na sonraí as an maolán, dúnann sé an comhad, agus scaoileann sé an chuimhne go léir a úsáidtear don chomhad sin.Is tairiseach é EOF a shainmhínítear sa chomhad ceanntásca stdio.h

    Soláthraíonn leabharlann chaighdeánach C feidhmeanna éagsúla chun comhaid a léamh agus a scríobh de réir carachtair nó mar theaghrán fad seasta.

    Scríobh chuig an gcomhad

    Seo iad na feidhmeanna is simplí chun carachtair a scríobh chuig an sruth:

    int fputc ( int c , COMHAD * fp );

    Scríobhann an fheidhm fputc () luach carachtair an pharaiméadar c isteach sa sruth aschuir a díríonn an fp air.Má éiríonn leis na scríobhann, seolann sé an carachtar scríofa agus an EOF ar ais má tharlaíonn earráid.Is féidir leat an fheidhm seo a leanas a úsáid chun teaghrán a chríochnaíonn le null a scríobh chuig an sruth:

    fputs slánuimhir ( const char * s , COMHAD * fp );

    Fputs an fheidhm () scríobhann sí an teaghrán s chuig an sruth aschuir a bhfuil an fp dírithe air.Má éiríonn leis an scríobh, filleann sé luach neamhdhiúltach agus an EOF má tharlaíonn earráid.Is féidir leat úsáid a bhaint freisin ar an fheidhm int fprintf (COMAD * fp, const char * formáid,...) scríobhann teaghrán chuig an gcomhad.Bain triail as an sampla seo a leanas:

    Nóta: Déan cinnte go bhfuil eolaire tmp ar fáil agat, agus mura bhfuil sé ann, ní mór duit é a chruthú ar do ríomhaire ar dtús.

    Is eolaire sealadach é / tmp ar an gcóras Linux de ghnáth.Má ritheann tú ar an gcóras Windows, ní mór duit é a mhodhnú go dtí eolaire atá ann cheana féin sa timpeallacht áitiúil, mar shampla: C: \ tmp, D: \ tmp, etc.

    sampla beo

    #cuir san áireamhint príomh () { COMHAD * fp = NULLComment ;fp = fopen ("/tmp/test.txt", "w+");fprintf ( fp , "Tá sé seo ag tástáil le haghaidh fprintf...\n ");fputs ("Tá sé seo ag tástáil le haghaidh fputs...\n", fp );fclose (fp );}

    Nuair a dhéantar an cód thuas a thiomsú agus a fhorghníomhú, cruthaíonn sé comhad test.txt nua inthe / tmp eolaire.Agus scríobhann sé go dtí dhá líne ag baint úsáide as dhá fheidhm éagsúla.Léighimis an comhad seo chugainn.

    Léigh an comhad

    Seo a leanas an fheidhm is simplí chun carachtar amháin as comhad a léamh:

    int fgetc ( COMHAD * fp );

    Léann an fheidhm fgetc () carachtar ón gcomhad ionchuir a díríonn an fp chuige.Is é an luach tuairisceáin an carachtar léite agus an EOF má tharlaíonn earráid.Ligeann an fheidhm seo a leanas duit teaghrán ó shruth a léamh:

    char *fgets ( char *buf , int n , COMHAD * fp );

    Léann an fheidhm fgets () n-1 carachtair ón sruth ionchuir arna stiúradh ag fp.Déanann sé an téad léite a chóipeáil go dtí an maolán agus cuireann carachtar nialasach leis ag an deireadh chun an sreang a fhoirceannadh.

    Má thagann an fheidhm seo ar charachtar líne bhriste '\n' nó ar an EOF de dheireadh comhaid sula léitear an carachtar deiridh, ansin ní sheoltar ar ais ach chuig na carachtair léite, lena n-áirítear sosanna líne.Is féidir leat an fheidhm int fscanf (FILE * fp, const char * format,...) a úsáid freisin chun an teaghrán ón gcomhad a léamh, ach stopann sé ag léamh nuair a bhíonn tú ag teacht ar an gcéad bhriseadh spáis agus líne.

    sampla beo

    #cuir san áireamhint príomh () { COMHAD * fp = NULLComment ;char buff [255];fp = fopen ("/tmp/test.txt", "r");fscanf (fp , "%s", buff );printf ("1: %s\n", buff );fgets (buff , 255, (COMAD *) fp );printf ("2: %s\n", buff );fgets (buff , 255, (COMAD *) fp );printf ("3: %s\n", buff );fclose (fp );}

    Nuair a dhéantar an cód thuas a thiomsú agus a fhorghníomhú, léann sé na comhaid a cruthaíodh sa chuid roimhe seo, ag táirgeadh na torthaí seo a leanas:

    1: Tá an 2 seo: ag tástáil le haghaidh fprintf...

    3: Tá sé seo ag tástáil le haghaidh fputs...

    Ar dtús, ní léann an modh fscanf() ach é seo . toisc go dtagann sé trasna ar spás sa chúl.Sa dara háit, cuir glaoch ar functon fgets () chun an chuid atá fágtha a léamh go dtí deireadh na líne.Ar deireadh, cuir glaoch ar fgets () chun an dara sraith a léamh go hiomlán.

    Feidhm dhénártha I / O

    Úsáidtear an dá fheidhm seo a leanas don ionchur agus aschur dénártha:

    size_t fread (folamh *ptr , size_t size_of_elements , size_t number_of_elements , COMHAD *a_file );size_t scríobh (const neamhní *ptr , size_t size_of_elements , size_t number_of_elements , COMHAD *a_file );

    Déantar an dá fheidhm a léamh agus a scríobh le haghaidh bloic stórála - eagair nó struchtúir de ghnáth.

    Baineann léamh agus scríobh comhaid thuas faoi C le HDV Phoelectron Technology Ltd., oibríocht theicniúil bogearraí.Agus an chuideachta le haghaidh trealamh a bhaineann le líonra (mar shampla: ACONU/ cumarsáidONU/ clisteONU/ snáithínONU, etc.) Tá foireann bogearraí cumhachtach tugtha le chéile, do gach custaiméir shaincheapadh ar na héilimh eisiach a bhfuil gá acu leis, a ligean freisin ar ár gcuid táirgí níos cliste agus chun cinn.



    gréasáin 天