Para criar este programa utilizei pelo menos cinco funções e duas macros
fundamentais para o bom desempenho, que foram as funções:
fseek(); Para posicionar o ponteiro de arquivo num byte específico fscanf(); É para o arquivo o que scanf é para o console putc(); Escreve um caracter em um arquivo fgets(); pega uma linha inteira de um arquivo feof();retorna verdadeiro se o final de arquivo foi atingido;
E as macros: SEEK_SET, SEEK_CUR. Estas funções e estas macros estão no arquivo de cabeçalho stdio.h. Estas macros trabalham como parâmetros na função fseek(); e são perfeitas para posicionamentos, isto é, acesso aleatórios de dados.
SEEK_SET ==> Marca um início no arquivo SEEK_CUR ==> Ponto corrente no arquivo SEEK_END ==> Não foi utilizado neste programa, marca o fim do arquivo.
A lógica para posicionar a leitura no início dos nomes das candidatas foi um pouco confusa, note que estes nomes começam na linha seis do arquivo, que começa em zero ( 0 ) e segue até a linha quinze ( 15 ). Então, calculei o tamanho do arquivo e a posição de início dos nomes como já citei acima, e coloquei como condição dentro de um laço while(); A cada ciclo do while(); a variável de controle é incrementada e um novo valor é adicionado, este valor, corresponde ao total de caracteres de cada linha contando com espaços, que obviamente o ciclo pula para a linha mais abaixo, até que o arquivo chegue em sua última linha. Más isto tudo foi porque teimei em fazer esta leitura da coluna dos nomes com fscanf(); Com fgets(); isto teria sido bem mais simples. Um novo arquivo é criado, e recebe escritas dos caracteres dos nomes com a função putc(); agora o arquivo é fechado e aberto novamente como leitura. Esta foi uma breve descrição do funcionamento deste programa, que é indicado a estudantes mais avançados em c.
Pergunta
roccoC/C++
Para criar este programa utilizei pelo menos cinco funções e duas macros
fundamentais para o bom desempenho, que foram as funções:
fseek(); Para posicionar o ponteiro de arquivo num byte específico
fscanf(); É para o arquivo o que scanf é para o console
putc(); Escreve um caracter em um arquivo
fgets(); pega uma linha inteira de um arquivo
feof();retorna verdadeiro se o final de arquivo foi atingido;
E as macros: SEEK_SET, SEEK_CUR.
Estas funções e estas macros estão no arquivo de cabeçalho stdio.h.
Estas macros trabalham como parâmetros na função fseek(); e são
perfeitas para posicionamentos, isto é, acesso aleatórios de dados.
SEEK_SET ==> Marca um início no arquivo
SEEK_CUR ==> Ponto corrente no arquivo
SEEK_END ==> Não foi utilizado neste programa,
marca o fim do arquivo.
A lógica para posicionar a leitura no início dos nomes das candidatas
foi um pouco confusa, note que estes nomes começam na linha seis do arquivo,
que começa em zero ( 0 ) e segue até a linha quinze ( 15 ).
Então, calculei o tamanho do arquivo e a posição de início dos nomes
como já citei acima, e coloquei como condição dentro de um laço while();
A cada ciclo do while(); a variável de controle é incrementada e um novo
valor é adicionado, este valor, corresponde ao total de caracteres de cada linha
contando com espaços, que obviamente o ciclo pula para a linha mais abaixo,
até que o arquivo chegue em sua última linha.
Más isto tudo foi porque teimei em fazer esta leitura da coluna dos nomes com fscanf(); Com fgets(); isto teria sido bem mais simples.
Um novo arquivo é criado, e recebe escritas dos caracteres dos nomes
com a função putc(); agora o arquivo é fechado e aberto novamente como leitura.
Esta foi uma breve descrição do funcionamento deste programa, que é indicado
a estudantes mais avançados em c.
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-extraindo-e-salvando-coluna.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.