Close file in C

Asked

Viewed 68 times

0

How do I close a C file?

int main()
{
    abrirArquivo();
    fecharArquivo();

    system("pause");
    return 0;
}
void abrirArquivo(){

     FILE *arquivo = fopen("pub.in", "r");// testa se o arquivo foi aberto com sucesso

      if(arquivo != NULL)
        printf("Arquivo foi aberto com sucesso.");
      else
        printf("Nao foi possivel abrir o arquivo.");

      printf("\n\n");
}
void fecharArquivo(){
      //Não estou sabendo o que digitar
}

The file is being opened, but now I can’t close it.

1 answer

3

Every file must be closed for the release of resources when it is no longer necessary, for this must use the function fclose, stated in the header stdio.h. Being the prototype: int fclose (FILE * arquivo_aberto);.

Knowing that your code should look something like this:

        #include <stdio.h>    
        int main()
        {
            abrirArquivo();
            fecharArquivo();
        
            system("pause");
            return 0;
        }
        void abrirArquivo(){
        
             FILE *arquivo = fopen("pub.in", "r");// testa se o arquivo foi aberto com sucesso
        
              if(arquivo != NULL)
                printf("Arquivo foi aberto com sucesso.");
              else
                printf("Nao foi possivel abrir o arquivo.");
        
              printf("\n\n");
        }
        void fecharArquivo(FILE * arquivo){
              if(fclose(arquivo) == 0) //Função fclose retorna zero em sucesso, um não zero caso contrário
                printf("Arquivo fechado com sucesso.");
              else
                printf("Erro");
        }

PS: remember that the file must be passed between function calls, because the FILE pointer points to a single file

Browser other questions tagged

You are not signed in. Login or sign up in order to post.