logo

C fopen() funció amb exemples

El mètode fopen(). en C és una funció de biblioteca que s'utilitza per obrir un fitxer per realitzar diverses operacions que inclouen lectura, escriptura, etc. juntament amb diversos modes. Si el fitxer existeix, la funció fopen() obre el fitxer en particular, sinó es crearà un fitxer nou.

Sintaxi

La sintaxi de C fopen() és:



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

Paràmetres

El mètode accepta dos paràmetres de tipus de punter de caràcters:

  • nom de l'arxiu: És de tipus de cadena C i accepta el nom del fitxer que cal obrir.
  • mode_de_operació: També és del tipus de cadena C i fa referència al mode d'accés al fitxer.

La taula següent enumera els valors de mode_of_operation vàlids en C amb el seu significat:

Modes d'obertura



Descripció

processament paral·lel

r

Fitxer de cerca. Obre el fitxer només per a lectura . Si el fitxer s'obre correctament, fopen() el carrega a la memòria i configura un punter que apunta al primer caràcter. Si el fitxer no es pot obrir fopen() retorna NULL.



En

Fitxer de cerca. Si el fitxer ja existeix, se'n sobreescriu el contingut. Si el fitxer no existeix, es crea un fitxer nou. Retorna NULL, si no es pot obrir el fitxer. Crea un fitxer nou només per escriure (sense lectura).

a

Fitxer de cerca. Si el fitxer s'obre correctament, fopen() el carrega a la memòria i configura un punter que apunta a l'últim caràcter que hi ha. Si el fitxer no existeix, es crea un fitxer nou. Retorna NULL, si no es pot obrir el fitxer. El fitxer només s'obre per afegir-lo (escriure al final del fitxer).

r+

Fitxer de cerca. Obre el fitxer tant per llegir com per escriure . Si s'obre amb èxit, fopen() el carrega a la memòria i configura un punter que apunta al primer caràcter. Retorna NULL, si no es pot obrir el fitxer.

w+

Fitxer de cerca. Si el fitxer existeix, el seu contingut se sobreescriu. Si el fitxer no existeix, es crea un fitxer nou. Retorna NULL, si no es pot obrir el fitxer. La diferència entre w i w+ és que també podem llegir el fitxer creat amb w+.

a+

Fitxer de cerca. Si el fitxer s'obre correctament, fopen() el carrega a la memòria i configura un punter que apunta a l'últim caràcter que hi ha. Si el fitxer no existeix, es crea un fitxer nou. Retorna NULL, si no es pot obrir el fitxer. El fitxer s'obre per llegir-lo i afegir-lo (escriptura al final del fitxer).

rb

Obriu el fitxer binari en mode de lectura. Si el fitxer no existeix, la funció open() retorna NULL.

wb

Obriu el fitxer binari en mode d'escriptura. Com que el punter està configurat a l'inici del fitxer, el els continguts es sobreescriuen. Si el fitxer no existeix, a es crea un nou fitxer.

ab

Obriu el fitxer binari en mode d'adjuntar. El punter del fitxer està configurat després de l'últim caràcter del fitxer . A es crea un fitxer nou si no existeix cap fitxer amb el nom.

rb+

què és l'exportació a linux

Obriu el fitxer binari en mode de lectura i escriptura. Si el fitxer no existeix, la funció open() retorna NULL.

wb+

Obriu el fitxer binari en mode de lectura i escriptura. El contingut es sobreescriu si el fitxer existeix. Es crearà si el fitxer no existeix.

ab+

Obriu el fitxer binari en mode de lectura i adjunta. Es crearà un fitxer si el fitxer no existeix.

Valor de retorn

  • La funció s'utilitza per retornar un punter a FILE si l'execució té èxit, sinó es retorna NULL.

Exemple de fopen()

C




// 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;> }>

matemàtiques java

>

>

En executar l'ordre següent, es crearà un fitxer nou amb el nom fitxer_demo.txt amb el següent contingut:

Welcome to techcodeview.com>

Ara, si volem mirar el fitxer, hem d'executar el següent codi, que obrirà el fitxer i mostrarà el seu contingut.

C


col·leccions java java



// 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;> }>

>

>

Sortida

Welcome to techcodeview.com>

Més articles sobre Gestió de fitxers en C:

  1. Conceptes bàsics del maneig de fitxers en C
  2. fopen() per a un fitxer existent en mode d'escriptura
  3. EOF, getc() i feof() en C
  4. Modes d'obertura de fitxers (r versus r+)