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 saída 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.
Na imagem abaixo você ver o programa em execução:
Abaixo está o link para acesso gratuito do código:
Pergunta
roccoC/C++
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 saída 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.
Na imagem abaixo você ver o programa em execução:
Abaixo está o link para acesso gratuito do código:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/arquivo-formato-especifico-com-fscanf.html
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.