English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Funções do C

Array do C

Ponteiro do C

String do C

Estrutura de linguagem C

Arquivo do idioma C

Outro C

Manual de referência do C

Uso e exemplo da função da biblioteca C freopen()

Biblioteca padrão do C - <stdio.h>

Função da biblioteca C FILE *freopen(const char *filename, const char *modo, FILE *(stream) com um novo nome de arquivo filename com o fluxo aberto fornecido fluxo Associar, ao mesmo tempo, fechar o arquivo antigo no fluxo.

Declaração

Aqui está a declaração da função freopen().

FILE *freopen(const char *filename, const char *modo, FILE *(stream)

Parâmetros

  • filename -- Esta é uma string C que contém o nome do arquivo a ser aberto.
  • modo -- Esta é uma string C que contém o modo de acesso ao arquivo, o modo é o seguinte:
ModoDescrição
"r" Abre um arquivo para leitura. O arquivo deve existir.
"w" Cria um arquivo vazio para escrita. Se o nome do arquivo for o mesmo que um arquivo existente, o conteúdo existente será excluído e o arquivo será tratado como um novo arquivo vazio.
"a" Anexa a um arquivo. As operações de escrita adicionam dados ao final do arquivo. Se o arquivo não existir, ele será criado.
"r+" Abre um arquivo para atualização, que pode ser lido e escrito. O arquivo deve existir.
"w+" Cria um arquivo vazio para leitura e escrita.
"a+" Abre um arquivo para leitura e escrita.
  • fluxo -- Este é um ponteiro para o objeto FILE, que identifica o fluxo a ser reaberto.

Retorno

Se o arquivo for aberto com sucesso, a função retorna um ponteiro que aponta para o objeto que identifica o fluxo. Caso contrário, retorna um ponteiro nulo.

Exemplo online

O exemplo a seguir demonstra o uso da função freopen().

#include <stdio.h>
int main ()
{
   FILE *fp;
   printf("O texto é redirecionado para stdout\n");
   fp = freopen("file.txt", "w+", stdout);
   printf("O texto é redirecionado para file.txt\n");
   fclose(fp);
   return(0);
}

Vamos compilar e executar o programa acima, isso enviará as seguintes linhas para a saída padrão STDOUT, porque inicialmente não abrimos a saída padrão:

O texto é redirecionado para stdout

ao chamar freopen() Depois, ele associará a saída padrão STDOUT ao arquivo file.txtqualquer coisa que escrevamos na saída padrão STDOUT será escrita no file.txt, então o arquivo file.txt terá o seguinte conteúdo:

O texto é redirecionado para file.txt

Agora vamos usar o seguinte programa para visualizar o conteúdo do arquivo acima:

#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);
}

Biblioteca padrão do C - <stdio.h>