Arquivo - formato específico com fscanf

Postado por Samuel Lima em 26 de Maio de 2016  •  Comentários (0)  • 


Se já estamos acostumados a ler de forma formatada com scanf();
não estamos muito longe de entender como ler de modo idêntico com fscanf();
Ora, estudantes de linguagem C devem achar isto perfeitamente possível e necessário em alguns casos.
A função fscanf() funciona como a função scanf(). A diferença é que a entrada de fscanf() é um arquivo e não o teclado do computador.
Considere muito correto a seguinte síntaxe para fscanf();:
int fscanf (FILE *fp,char *str,...);
Como já acredito que você conhece a síntaxe de scanf(); imagino que você já detectou que a única diferença das duas síntaxe, é a especificação do arquivo destino através do ponteiro de arquivo.
Alguns programadores não recomendam o uso de fprintf(); e fscanf(); para ler e escrever dados em arquivos, pois trabalham com dados ASCII e não binários o que ocasiona uma perda de desempenho no programa dando preferência o uso de fread e fwrite.
Uma boa dica para uma leitura formatada com sucesso é fazer uma análise no arquivo primeiro e procurar estabelecer um determinado padrão se não houver.
Note que no nosso arquivo lendo da esquerda para direita temos na primeira coluna nomes com sobrenomes de pessoas, na seguinte dia de nascimento, na próxima mês de nascimento, na seguinte o ano de nascimento, na coluna de origem
leitura de strings referente à nacionalidade, e nas próximas colunas, são pêsos
e altura de cada um, onde é óbvio que usei floats para ler isto.
Exemplo mais claro que este que mostro agora acho impossível de encontrar, portanto o iniciante de linguagem C deve ficar satisfeito com tudo isto que é apresentado agora com clareza.

Tags: C/C++ |

  • Download
  • Comentar
  • Comentários
blog comments powered by Disqus

Comentários ir para topo

Código fonte ir para topo