• Giga@hdv-tech.com
  • Gwasanaeth Ar-lein 24H:
    • 7189078c
    • sns03
    • 6660e33e
    • youtube 拷贝
    • instagram

    C, Darllen ac Ysgrifennu Dogfennau

    Amser post: Awst-11-2023

    Yn disgrifio sut mae rhaglennydd C yn creu, yn agor ac yn cau ffeil testun, neu ffeil ddeuaidd.

    Mae ffeil, yn golygu cyfres o beit, boed yn ffeil testun neu'n ffeil ddeuaidd, C Language, nid yn unig yn darparu mynediad i'r swyddogaethau lefel uchaf, ond hefyd yn darparu'r alwad sylfaenol (OS) i brosesu ffeiliau ar y ddyfais storio . Bydd y bennod hon yn egluro'r galwadau pwysig o ran rheoli dogfennau.

    ffeil agored

    Gan ddefnyddio'r swyddogaeth fopen () fel arfer i greu ffeil newydd neu agor ffeil sy'n bodoli eisoes, mae'r alwad hon yn cychwyn gwrthrych o'r math FFEIL sy'n cynnwys yr holl wybodaeth angenrheidiol i reoli'r llif. Dyma'r prototeip o'r alwad swyddogaeth hon:

    FFEIL * fopen (const tor * enw ffeil , const torgoch * modd );

    Yma mae enw ffeil yn llinyn i enwi ffeil, gall gwerth y modd mynediad fod yn un o'r gwerthoedd canlynol:

    patrwm

    disgrifiad

    r

    Agorwch ffeil testun sy'n bodoli eisoes sy'n caniatáu iddi gael ei darllen.

    w

    Agorwch ffeil testun sy'n caniatáu ysgrifennu i'r ffeil. Os nad yw'r ffeil yn bodoli, caiff ffeil newydd ei chreu. Yma, mae eich rhaglen yn ysgrifennu'r cynnwys o ddechrau'r ffeil. Os yw'r ffeil yn bodoli, caiff ei chwtogi i sero hyd a'i hailysgrifennu.

    a

    Agorwch ffeil testun ac ysgrifennwch at y ffeil mewn modd atodiad. Os nad yw'r ffeil yn bodoli, caiff ffeil newydd ei chreu. Yma, mae eich rhaglen yn atodi cynnwys i'r ffeiliau sydd gennych eisoes.

    r+

    Agorwch ffeil testun sy'n eich galluogi i ddarllen ac ysgrifennu'r ffeil.

    w+

    Agorwch ffeil testun sy'n eich galluogi i ddarllen ac ysgrifennu'r ffeil. Os yw'r ffeil yn bodoli eisoes, caiff y ffeil ei chwtogi i sero hyd, ac os nad yw'r ffeil yn bodoli, caiff ffeil newydd ei chreu.

    a+

    Agorwch ffeil testun sy'n eich galluogi i ddarllen ac ysgrifennu'r ffeil. Os nad yw'r ffeil yn bodoli, caiff ffeil newydd ei chreu. Mae'r darllen yn dechrau ar ddechrau'r ffeil, a dim ond yn y modd atodiad y mae'r ysgrifennu.

    Os caiff ffeil ddeuaidd ei phrosesu, defnyddiwch y modd mynediad canlynol i ddisodli'r uchod:

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

    ffeil caeedig

    I gau'r ffeil, defnyddiwch y ffwythiant fclose(). Mae prototeip y swyddogaeth fel a ganlyn:

    int fclose ( FFEIL * fp );

    • Os caiff y ffeil ei chau'n llwyddiannus, mae'r ffwythiant fclose () yn dychwelyd sero, ac os yw'r gwall yn dychwelyd EOF. Mae'r swyddogaeth hon, mewn gwirionedd, yn tynnu'r data o'r byffer, yn cau'r ffeil, ac yn rhyddhau'r holl gof a ddefnyddir ar gyfer y ffeil honno. Mae EOF yn gysonyn a ddiffinnir yn y ffeil pennyn stdio.h

    Mae'r llyfrgell safonol C yn darparu swyddogaethau amrywiol i ddarllen ac ysgrifennu ffeiliau fesul cymeriadau neu fel llinyn hyd sefydlog.

    Ysgrifennwch at y ffeil

    Dyma'r swyddogaethau symlaf i ysgrifennu cymeriadau i'r ffrwd:

    int fputc ( int c , FFEIL * fp );

    Mae'r ffwythiant fputc () yn ysgrifennu gwerth nod y paramedr c i'r ffrwd allbwn y mae'r fp yn pwyntio ati. Os yw'r ysgrifennu yn llwyddiannus, mae'n dychwelyd y nod ysgrifenedig a'r EOF os bydd gwall. Gallwch ddefnyddio'r ffwythiant canlynol i ysgrifennu llinyn sy'n gorffen gyda null i'r ffrwd:

    fputs int ( torgoch const * s , FFEIL * fp );

    Mae'r ffwythiant fputs () yn ysgrifennu'r llinyn s i'r ffrwd allbwn lle mae'r fp yn pwyntio ato. Os bydd yr ysgrifen yn llwyddo, mae'n dychwelyd gwerth annegyddol a'r EOF os bydd gwall. Gallwch hefyd ddefnyddio swyddogaeth int fprintf (FFEIL * fp, fformat torgoch *,...) yn ysgrifennu llinyn i'r ffeil. Rhowch gynnig ar yr enghraifft ganlynol:

    Nodyn: Gwnewch yn siŵr bod gennych gyfeiriadur tmp ar gael, ac os nad yw'n bodoli, mae angen i chi ei greu ar eich cyfrifiadur yn gyntaf.

    Mae / tmp fel arfer yn gyfeiriadur dros dro ar y system Linux. Os ydych chi'n rhedeg ar system Windows, mae angen i chi ei addasu i gyfeiriadur sy'n bodoli yn yr amgylchedd lleol, fel: C: \ tmp, D: \ tmp, ac ati.

    esiampl fyw

    #cynnwys int main () { FFEIL * fp = NULL ; fp = fopen ("/tmp/test.txt", "w+"); fprintf ( fp , "Mae hwn yn profi ar gyfer fprintf...\n " ); fputs ( "Mae hyn yn profi am fputs...\n " , fp ); fclose (fp ); }

    Pan fydd y cod uchod yn cael ei lunio a'i weithredu, mae'n creu ffeil test.txt newydd yn y cyfeiriadur / tmp. Ac yn ysgrifennu i ddwy linell gan ddefnyddio dwy swyddogaeth wahanol. Gadewch i ni ddarllen y ffeil hon nesaf.

    Darllenwch y ffeil

    Y canlynol yw'r swyddogaeth symlaf i ddarllen un nod o ffeil:

    int fgetc ( FFEIL * fp );

    Mae'r ffwythiant fgetc () yn darllen nod o'r ffeil fewnbwn y mae'r fp yn pwyntio iddi. Y gwerth dychwelyd yw'r nod darllen a'r EOF os bydd gwall yn digwydd. Mae'r swyddogaeth ganlynol yn caniatáu ichi ddarllen llinyn o nant:

    torgoch *fgets ( torgoch * buf , int n , FFEIL * fp );

    Mae'r ffwythiant fgets () yn darllen nodau n-1 o'r ffrwd mewnbwn a gyfarwyddir gan fp. Mae'n copïo'r llinyn darllen i'r byff byffer ac yn atodi nod null ar y diwedd i derfynu'r llinyn.

    Os yw'r ffwythiant hwn yn dod ar draws nod llinell wedi torri \ n ' neu EOF diwedd ffeil cyn darllen y nod olaf, yna dim ond dychwelyd i'r nodau darllen, gan gynnwys toriad llinell. Gallwch hefyd ddefnyddio'r ffscanf int (FILE * fp, fformat const char *,...) i ddarllen y llinyn o'r ffeil, ond mae'n stopio darllen wrth ddod ar draws y bwlch a'r toriad llinell gyntaf.

    esiampl fyw

    #cynnwys int main () { FFEIL * fp = NULL ; buff torgoch [255]; fp = fopen ("/tmp/test.txt", "r"); fscanf (fp , "%s", bwff ); printf ( "1: %s \n " , bwff ); fgets (bwff , 255, (FFEIL *)fp ); printf ( "2: %s \n " , bwff ); fgets (bwff , 255, (FFEIL *)fp ); printf ( "3: %s \n " , bwff ); fclose (fp ); }

    Pan fydd y cod uchod yn cael ei lunio a'i weithredu, mae'n darllen y ffeiliau a grëwyd yn yr adran flaenorol, gan gynhyrchu'r canlyniadau canlynol:

    1: Mae'r 2 hwn: yn profi ar gyfer fprintf...

    3: Mae hyn yn profi am fputs...

    Yn gyntaf, dim ond hyn y mae'r dull fscanf() yn ei ddarllen oherwydd mae'n dod ar draws bwlch yn y cefn. Yn ail, ffoniwch functon fgets () i ddarllen y rhan sy'n weddill tan ddiwedd y llinell. Yn olaf, ffoniwch fgets () i ddarllen yr ail res yn gyfan gwbl.

    Swyddogaeth I/O deuaidd

    Defnyddir y ddwy swyddogaeth ganlynol ar gyfer mewnbwn ac allbwn deuaidd:

    maint_t fread (gwag *ptr , size_t size_of_elements , size_t number_of_elements , FILE *a_file ); size_t fwrite (const void *ptr , size_t size_of_elements , size_t number_of_elements , FILE *a_file );

    Mae'r ddwy swyddogaeth yn cael eu darllen ac ysgrifennu ar gyfer blociau storio - araeau neu strwythurau fel arfer.

    Uchod am C mae darllen ac ysgrifennu ffeiliau yn perthyn i HDV Phoelectron Technology Ltd., gweithrediad technegol meddalwedd. A'r cwmni ar gyfer offer cysylltiedig â rhwydwaith (fel: ACONU/ cyfathrebuONU/ deallusONU/ ffibrONU, ac ati) wedi dod â thîm meddalwedd pwerus ynghyd, ar gyfer pob cwsmer addasu'r gofynion unigryw sydd ei angen, hefyd yn gadael ein cynnyrch yn fwy deallus ac uwch.



    gwe聊天