Saltar ao contido

C/fopen

En Galilibros, o Wikibooks en galego.
< C
C
← Volver a fgets fopen Seguir con fputc


Esta función utilízase para abrir ficheiros. A chamada á función segue a sintaxe:

FILE * fopen(const char *ficheiro, const char *modo);

Onde:

ficheiro é a ruta ao ficheiro, e
modo é o método de apertura escollido.

Modos

[editar]
r
Abrir un ficheiro en modo de só lectura. En caso de que non exista o ficheiro, a función devolverá un erro.
w
Abrir un ficheiro en modo de só escritura. En caso de que o ficheiro non exista, crearase un ficheiro novo, e en caso de que exista substituirase o seu contido ─é dicir, bórrase a información existente─.
a
Abrir un ficheiro de texto para amplialo dende o final do mesmo. Se o ficheiro non existe créase un novo. Se existe o punteiro, sitúase na marca de fin de ficheiro, para escribir a partir de aí.
r+
Abrir un ficheiro en modo de lectura e escritura. O ficheiro ten que existir previamente.
w+
Abrir un ficheiro en modo de lectura e escritura. En caso de que o ficheiro non exista, crearase un novo, e se existe substituirase o seu contido.
a+
Abrir un ficheiro para amplialo a partires do final do mesmo, e para lelo. En caso de que o ficheiro non exista, créase un novo.

Control de erros

[editar]

En caso de ocorrer un erro durante o proceso de apertura dun ficheiro, a función devolverá NULL. No seguinte exemplo pódese observar como se controla o posible caso de que haxa un erro durante a apertura dun ficheiro:

#include <stdio.h>

signed int main(void)
{
  FILE * ficheiro = NULL;

  ficheiro = fopen("exemplo", "r");
  if(ficheiro == NULL)
  {
    perror("Non se puido abrir o ficheiro «exemplo»");
    return -1; // Saída con erro.
  }

  printf("Tratábase de non ter ningún ficheiro chamado «exemplo»...\n");
  printf("Veña, bórrao e volve executar o programa.\n");
  fclose(ficheiro); // Dado que o programa remata aquí, pouco nos importa que falle o fclose().
  return 0; // Saída correcta.
}

Supoñendo que no directorio en que se executa o ficheiro ─unha vez compilado, evidentemente─ non existe ningún ficheiro co nome «exemplo», o programa debería rematar coa mensaxe seguinte:

Non se puido abrir o ficheiro «exemplo»: non hai tal ficheiro ou directorio.

Véxase tamén

[editar]


C
← Volver a fgets fopen Seguir con fputc