Antes que um programa possa ler ou escrever informações em um arquivo, é necessário estabelecer uma conexão entre o programa e o arquivo armazenado no dispositivo de armazenamento. Na linguagem C, essa conexão é realizada por meio da abertura de um stream associado ao arquivo.

Após concluir as operações desejadas, o arquivo deve ser fechado para garantir que todos os dados sejam gravados corretamente e que os recursos utilizados pelo sistema operacional sejam liberados.

Por esse motivo, a manipulação de arquivos normalmente segue o seguinte fluxo:

Abrir arquivo
      ↓
Ler e/ou escrever dados
      ↓
Fechar arquivo

A função fopen

A abertura de arquivos é realizada por meio da função fopen, definida na biblioteca stdio.h.

Sua assinatura é:

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

A função recebe dois parâmetros:

Como resultado, a função retorna:

Exemplo:

#include <stdio.h>

int main() {
    FILE *arquivo;

    arquivo = fopen("dados.txt", "r");

    if (arquivo == NULL) {
        printf("Erro ao abrir o arquivo.\n");
    }

    return 0;
}

Nesse exemplo, o programa tenta abrir o arquivo dados.txt para leitura.


Modos de abertura