Função de biblioteca C - fopen ()
Descrição
A função da biblioteca C FILE *fopen(const char *filename, const char *mode) abre o filename apontado, por nome de arquivo usando o dado mode.
Declaração
A seguir está a declaração para a função fopen ().
FILE *fopen(const char *filename, const char *mode)
Parâmetros
filename - Esta é a string C contendo o nome do arquivo a ser aberto.
mode- Esta é a string C que contém um modo de acesso ao arquivo. Inclui -
Sr. Não. | Modo e descrição |
---|---|
1 |
"r" Abre um arquivo para leitura. O arquivo deve existir. |
2 |
"w" Cria um arquivo vazio para gravação. Se já existir um arquivo com o mesmo nome, seu conteúdo será apagado e o arquivo será considerado como um novo arquivo vazio. |
3 |
"a" Anexa a um arquivo. Operações de gravação, anexe dados no final do arquivo. O arquivo é criado se não existir. |
4 |
"r+" Abre um arquivo para atualizar leitura e gravação. O arquivo deve existir. |
5 |
"w+" Cria um arquivo vazio para leitura e gravação. |
6 |
"a+" Abre um arquivo para leitura e anexação. |
Valor de retorno
Esta função retorna um ponteiro FILE. Caso contrário, NULL é retornado e a variável global errno é definida para indicar o erro.
Exemplo
O exemplo a seguir mostra o uso da função fopen ().
#include <stdio.h>
#include <stdlib.h>
int main () {
FILE * fp;
fp = fopen ("file.txt", "w+");
fprintf(fp, "%s %s %s %d", "We", "are", "in", 2012);
fclose(fp);
return(0);
}
Vamos compilar e executar o programa acima que irá criar um arquivo file.txt com o seguinte conteúdo -
We are in 2012
Agora vamos ver o conteúdo do arquivo acima usando o seguinte programa -
#include <stdio.h>
int main () {
FILE *fp;
int c;
fp = fopen("file.txt","r");
while(1) {
c = fgetc(fp);
if( feof(fp) ) {
break ;
}
printf("%c", c);
}
fclose(fp);
return(0);
}
Vamos compilar e executar o programa acima para produzir o seguinte resultado -
We are in 2012