• Giga@hdv-tech.com
  • 24h võrguteenus:
    • 7189078c
    • sns03
    • 6660e33e
    • youtube 拷贝
    • instagram

    C, dokumentide lugemine ja kirjutamine

    Postitusaeg: august 11-2023

    Kirjeldab, kuidas C-programmeerija loob, avab ja sulgeb teksti- või binaarfaili.

    Fail tähendab baitide seeriat, olgu see siis teksti- või binaarfail, C Language mitte ainult ei paku juurdepääsu tipptaseme funktsioonidele, vaid pakub ka aluseks olevat (OS) kõnet salvestusseadme failide töötlemiseks .See peatükk selgitab olulisi üleskutseid dokumendihalduses.

    avatud fail

    Tavaliselt kasutades uue faili loomiseks või olemasoleva faili avamiseks funktsiooni fopen (), lähtestab see kõne objekti tüüpi FILE, mis sisaldab kogu voo juhtimiseks vajalikku teavet.Siin on selle funktsioonikutse prototüüp:

    FAIL *fopen ( const char * failinimi , const char * režiim );

    Siin on failinimi string failile nime andmiseks, juurdepääsurežiimi väärtus võib olla üks järgmistest väärtustest:

    muster

    kirjeldus

    r

    Avage olemasolev tekstifail, mis võimaldab seda lugeda.

    w

    Avage tekstifail, mis võimaldab faili kirjutada.Kui faili pole olemas, luuakse uus fail.Siin kirjutab teie programm sisu faili algusest peale.Kui fail on olemas, kärbitakse see nulli pikkuseks ja kirjutatakse uuesti.

    a

    Avage tekstifail ja kirjutage faili lisamisrežiimis.Kui faili pole olemas, luuakse uus fail.Siin lisab teie programm sisu juba olemasolevatele failidele.

    r+

    Avage tekstifail, mis võimaldab teil faili lugeda ja kirjutada.

    w+

    Avage tekstifail, mis võimaldab teil faili lugeda ja kirjutada.Kui fail on juba olemas, kärbitakse faili pikkuseks null ja kui faili pole olemas, luuakse uus fail.

    a+

    Avage tekstifail, mis võimaldab teil faili lugeda ja kirjutada.Kui faili pole olemas, luuakse uus fail.Lugemine algab faili algusest ja kirjutamine toimub ainult lisamisrežiimis.

    Kui töödeldud binaarfaili, kasutage ülalnimetatud asendamiseks järgmist juurdepääsurežiimi:

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

    suletud fail

    Faili sulgemiseks kasutage funktsiooni fclose().Funktsiooni prototüüp on järgmine:

    int fclose ( FAIL *fp );

    • Kui fail suletakse edukalt, tagastab funktsioon fclose() nulli ja vea korral EOF.See funktsioon tegelikult eemaldab andmed puhvrist, sulgeb faili ja vabastab kogu selle faili jaoks kasutatud mälu.EOF on päisefailis stdio.h määratletud konstant

    C-standarditeek pakub erinevaid funktsioone failide lugemiseks ja kirjutamiseks märkide järgi või fikseeritud pikkusega stringina.

    Kirjutage faili

    Siin on lihtsaimad funktsioonid märkide kirjutamiseks voogu:

    int fputc ( int c , FAIL *fp );

    Funktsioon fputc () kirjutab parameetri c märgiväärtuse väljundvoogu, millele fp osutab.Kui kirjutamine õnnestub, tagastab see vea ilmnemisel kirjutatud märgi ja EOF-i.Nulliga lõppeva stringi kirjutamiseks voogu saate kasutada järgmist funktsiooni:

    int fputs ( const char *s , FILE *fp );

    Funktsioon fputs () kirjutab stringi s väljundvoogu, kuhu fp osutab.Kui kirjutamine õnnestub, tagastab see mittenegatiivse väärtuse ja vea ilmnemisel EOF-i.Võite kasutada ka funktsiooni int fprintf (FILE * fp, const char * formaat,...) kirjutab faili stringi.Proovige järgmist näidet.

    Märkus. Veenduge, et teil on saadaval tmp-kataloog ja kui seda pole, peate selle esmalt oma arvutis looma.

    / tmp on tavaliselt Linuxi süsteemi ajutine kataloog.Kui kasutate Windowsi süsteemi, peate selle muutma kohalikus keskkonnas olemasolevaks kataloogiks, näiteks: C: \ tmp, D: \ tmp jne.

    elav eeskuju

    #kaasaint main () { FAIL *fp = NULL ;fp = fopen ("/tmp/test.txt ", "w+");fprintf (fp , "See on fprintf testimine...\n ");fputs ("See on fputside testimine...\n ", fp );fclose (fp );}

    Kui ülaltoodud kood on kompileeritud ja käivitatud, loob see kataloogi / tmp uue faili test.txt.Ja kirjutab kahele reale, kasutades kahte erinevat funktsiooni.Järgmisena loeme seda faili.

    Lugege faili

    Järgmine on lihtsaim funktsioon ühe märgi failist lugemiseks:

    int fgetc (FAIL * fp );

    Funktsioon fgetc () loeb sisendfailist märgi, millele fp osutab.Tagastusväärtus on lugemise märk ja vea ilmnemisel EOF.Järgmine funktsioon võimaldab teil stringi voost lugeda:

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

    Funktsioon fgets () loeb fp juhitud sisendvoost n-1 märki.See kopeerib lugemisstringi puhvri puhvrisse ja lisab stringi lõpetamiseks selle lõppu nullmärgi.

    Kui see funktsioon leiab enne viimase märgi lugemist katkendrea märgi '\ n' või faili lõpu EOF-i, naaseb see ainult loetud märkide juurde, sealhulgas reavahed.Stringi lugemiseks failist saate kasutada ka funktsiooni int fscanf (FILE * fp, const char * formaat,...), kuid see lõpetab lugemise, kui ilmneb esimene tühik ja reavahetus.

    elav eeskuju

    #kaasaint main () { FAIL *fp = NULL ;söepuhastaja [255];fp = fopen ("/tmp/test.txt", "r");fscanf (fp , "%s ", buff );printf ("1: %s \n ", buff );fgets (buff , 255, (FILE *)fp );printf ("2: %s \n ", buff );fgets (buff , 255, (FILE *)fp );printf ("3: %s \n ", buff );fclose (fp );}

    Kui ülaltoodud kood on kompileeritud ja käivitatud, loeb see eelmises jaotises loodud faile, andes järgmised tulemused:

    1: See 2: testib fprintf...

    3: see testib fputsi...

    Esiteks, meetod fscanf() loeb ainult This ., kuna selle taga on tühik.Teiseks helistage functon fgets (), et lugeda ülejäänud osa kuni rea lõpuni.Lõpuks helistage fgets () teise rea täielikuks lugemiseks.

    Binaarne I / O funktsioon

    Binaarse sisendi ja väljundi jaoks kasutatakse kahte järgmist funktsiooni:

    suurus_t fread (kehtetu *ptr , suurus_t elementide_suurus , suurus_t elementide_arv , FAIL *a_fail );suurus_t fwrite (const void *ptr , suurus_t elementide_suurus , suurus_t elementide_arv , FAIL *a_fail );

    Mõlemad funktsioonid loetakse ja kirjutatakse salvestusplokkide jaoks - tavaliselt massiivide või struktuuride jaoks.

    Ülaltoodud umbes C-failide lugemine ja kirjutamine kuulub HDV Phoelectron Technology Ltd.-le, mis on tarkvara tehniline operatsioon.Ja võrguga seotud seadmete ettevõte (nt: ACONU/ suhtlemineONU/ intelligentneONU/ kiudaineidONUjne) on kokku toonud võimsa tarkvarameeskonna, et iga kliendi jaoks kohandada eksklusiivseid nõudmisi, kes seda vajavad, samuti muuta meie tooted intelligentsemaks ja täiustatumaks.



    web聊天