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!