logo

C fopen()-funktio esimerkkien kanssa

The fopen()-menetelmä C:ssä on kirjastotoiminto, jota käytetään tiedoston avaamiseen erilaisten toimintojen suorittamiseksi, mukaan lukien lukeminen, kirjoittaminen jne. eri tilojen ohella. Jos tiedosto on olemassa, fopen()-funktio avaa tietyn tiedoston, muuten luodaan uusi tiedosto.

Syntaksi

C fopen():n syntaksi on:

FILE * fopen (const char * file_name , const char * mode_of_operation );>

Parametrit

Menetelmä hyväksyy kaksi merkkiosoitintyypin parametria:



  • Tiedoston nimi: Tämä on C-merkkijonotyyppiä ja hyväksyy avattavan tiedoston nimen.
  • toimintamalli: Tämä on myös C-merkkijonotyyppiä ja viittaa tiedoston käyttötapaan.

Alla olevassa taulukossa on lueteltu kelvolliset mode_of_operation arvot C:ssä ja niiden merkitys:

Avaustilat

äärellisen tilan kone

Kuvaus

r

Hakee tiedostoa. Avaa tiedoston vain luettavaksi . Jos tiedosto avataan onnistuneesti, fopen() lataa sen muistiin ja asettaa osoittimen, joka osoittaa sen ensimmäiseen merkkiin. Jos tiedostoa ei voi avata, fopen() palauttaa NULL-arvon.

Sisään

Hakee tiedostoa. Jos tiedosto on jo olemassa, sen sisältö korvataan. Jos tiedostoa ei ole olemassa, luodaan uusi tiedosto. Palauttaa arvon NULL, jos tiedostoa ei voi avata. Se luo uuden tiedoston vain kirjoittamista varten (ei lukemista).

a

Hakee tiedostoa. Jos tiedosto avataan onnistuneesti, fopen() lataa sen muistiin ja asettaa osoittimen, joka osoittaa sen viimeiseen merkkiin. Jos tiedostoa ei ole olemassa, luodaan uusi tiedosto. Palauttaa NULL-arvon, jos tiedostoa ei voi avata. Tiedosto avataan vain lisäämistä varten (kirjoitetaan tiedoston loppuun).

r+

Hakee tiedostoa. Avaa tiedoston sekä lukemista että kirjoittamista varten . Jos avaus onnistui, fopen() lataa sen muistiin ja asettaa osoittimen, joka osoittaa sen ensimmäiseen merkkiin. Palauttaa NULL-arvon, jos tiedostoa ei voi avata.

w+

Hakee tiedostoa. Jos tiedosto on olemassa, sen sisältö korvataan. Jos tiedostoa ei ole olemassa, luodaan uusi tiedosto. Palauttaa NULL-arvon, jos tiedostoa ei voi avata. Ero w:n ja w+:n välillä on se, että voimme lukea myös w+:lla luodun tiedoston.

a+

Hakee tiedostoa. Jos tiedosto avataan onnistuneesti, fopen( ) lataa sen muistiin ja asettaa osoittimen, joka osoittaa sen viimeiseen merkkiin. Jos tiedostoa ei ole olemassa, luodaan uusi tiedosto. Palauttaa NULL-arvon, jos tiedostoa ei voi avata. Tiedosto avataan lukemista ja liittämistä varten (kirjoitus tiedoston loppuun).

rb

Avaa binääritiedosto lukutilassa. Jos tiedostoa ei ole olemassa, open()-funktio palauttaa NULL-arvon.

wb

Avaa binääritiedosto kirjoitustilassa. Kun osoitin on asetettu tiedoston alkuun, sisältö ylikirjoitetaan. Jos tiedostoa ei ole olemassa, a uusi tiedosto luodaan.

10/60

ab

Avaa binääritiedosto lisäystilassa. Tiedoston osoitin on asetettu tiedoston viimeisen merkin jälkeen . A uusi tiedosto luodaan jos nimellä ei ole tiedostoa.

rb+

Avaa binääritiedosto luku- ja kirjoitustilassa. Jos tiedostoa ei ole olemassa, open()-funktio palauttaa NULL-arvon.

wb+

Avaa binääritiedosto luku- ja kirjoitustilassa. Sisältö korvataan, jos tiedosto on olemassa. Se luodaan, jos tiedostoa ei ole olemassa.

ab+

Avaa binääritiedosto luku- ja lisäystilassa. Tiedosto luodaan, jos tiedostoa ei ole olemassa.

Palautusarvo

  • Toimintoa käytetään palauttamaan osoitin tiedostoon FILE, jos suoritus onnistuu, muuten palautetaan NULL.

Esimerkki fopen()

C




mitkä kuukaudet ovat Q3

// C program to illustrate fopen()> #include> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >// Creates a file 'demo_file'> >// with file access as write-plus mode> >demo =>fopen>(>'demo_file.txt'>,>'w+'>);> >// adds content to the file> >fprintf>(demo,>'%s %s %s'>,>'Welcome'>,>'to'>,> >'techcodeview.com'>);> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }>

>

>

Kun seuraava komento suoritetaan, uusi tiedosto luodaan nimellä demo_file.txt seuraavalla sisällöllä:

Welcome to techcodeview.com>

Nyt jos haluamme tarkastella tiedostoa, meidän on suoritettava seuraava koodi, joka avaa tiedoston ja näyttää sen sisällön.

hasseuraava java

C




// C program to illustrate fopen()> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >int> display;> >// Creates a file 'demo_file'> >// with file access as read mode> >demo =>fopen>(>'demo_file.txt'>,>'r'>);> >// loop to extract every characters> >while> (1) {> >// reading file> >display =>fgetc>(demo);> >// end of file indicator> >if> (>feof>(demo))> >break>;> >// displaying every characters> >printf>(>'%c'>, display);> >}> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }>

>

>

Lähtö

Welcome to techcodeview.com>

Lisää artikkeleita tiedostojen käsittelystä C:ssä:

  1. Tiedostojen käsittelyn perusteet C:ssä
  2. fopen() olemassa olevalle tiedostolle kirjoitustilassa
  3. EOF, getc() ja feof() C:ssä
  4. Tiedoston avaustilat (r vs. r+)