Ir ao conteúdo
  • Cadastre-se

Arquivo em C (Validação de nome nulo)


Posts recomendados

Sou novo em linguagem C e estou com dificuldades em validar se o nome que está dentro do arquivo é nulo ou não

já tentei de varias formas, já consegui algumas vezes mas não como o esperado.

Quero verificar se o nome que esta dentro do aquivo é nulo

 

void validaArquivo (char *nomeArquivo, Ficha *alunos)
{
  char nomeAluno[120][50];
FILE *p_arquivo;
int contador=0, auxiliar=0, i=0;
p_arquivo=fopen(nomeArquivo,"r");
while(!feof(p_arquivo)){
fscanf(p_arquivo,"%d %f %f", &alunos[contador].matricula, &alunos[contador].nota1, &alunos[contador].nota2);
fflush(stdin);
   if(fgets(alunos[contador].nomeAluno,MAXCHAR,p_arquivo)==NULL){ <<ERRO
    p_arquivo=fopen("erro.txt","a");
fprintf(p_arquivo,"Erro na linha %d\n",contador);//
system("pause");
exit(0);
}
   fclose(p_arquivo);
contador=contador+1;
}
fclose(p_arquivo);
}
Link para o comentário
Compartilhar em outros sites

como null? Um texto não pode ser null! Um string não é um só carácter, si não um punhado de caracteres. Para que você faça uma ideia, si eu fizer char nome[100] = NULL; é como si eu tiver fazendo char nome[100] = 0 no qual é um absurdo, pois não posso designar um int a um string, porém, sim que posso fazer char nome[100] = {0};, nesse caso todos os chars da string nome tomam o valor de nulo, a string fica formatada.

 

Outra coisa que posso fazer é:

char nome[100];

strcpy( nome, ""); //<-igual que antes, só que posso fazer após a declaração, a qualquer hora.

 

Si você fizer:

    char string[100] = "\0";
    fputs(string,arquivo);

...provavelmente o arquivo fique com um tamanho de zero, fputs não enviará nada ao arquivo. Então fica difícil te entender.

 

Depende muito como você tem no arquivo, si você enviar o arquivo para eu dar uma analisada talvez possa lhe ajudar. Descreva passo a passo o que você tem no arquivo e o que você quer fazer.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...