1
resposta

[Projeto] Abrir arquivo

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

int main()
{
FILE* f;

    f = fopen("teste.txt", "r");
   

    int qtddepalavras;
    fscanf(f, "%d", &qtddepalavras);
     if(f == 0)
    {
        printf("Desculpe, banco de dados indisponivel!\n\n");
        exit(1);
    }

}
1 resposta

Oiii Matheus, tudo bem?

Meus parabéns pelo seu desenvolvimento e empenho. Analisando o seu código, notei que há um pequeno detalhe que precisa ser ajustado. A verificação do sucesso da abertura do arquivo deve ser feita imediatamente após a tentativa de abertura, ou seja, após o comando fopen.

No seu código, você tenta fazer uma leitura com fscanf antes de verificar se o arquivo foi aberto corretamente. Isso pode causar um erro se o arquivo não existir ou não puder ser aberto por algum motivo.

Aqui está o código corrigido:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

int main()
{
    FILE* f;

    f = fopen("teste.txt", "r");

    if(f == 0)
    {
        printf("Desculpe, banco de dados indisponível!\n\n");
        exit(1);
    }

    int qtddepalavras;
    fscanf(f, "%d", &qtddepalavras);

    return 0;
}

Nesse código, a tentativa de abrir o arquivo é feita e, imediatamente após, é verificado se o arquivo foi aberto corretamente. Se não, uma mensagem é impressa e o programa é encerrado com exit(1). Se o arquivo foi aberto corretamente, o programa prossegue para a leitura do arquivo com fscanf.

Espero ter ajudado e bons estudos!