Pesquisar na Comunidade
Mostrando resultados para as tags ''fseek''.
Encontrado 2 registros
-
Em linguagem c temos três indicadores para deslocamento de posições, que são, as funções fseek, ftell e rewind, todas são do cabeçalho stdio.h são também muito utilizadas em manipulações de arquivos. Neste texto falaremos um pouco da função ftell; A função ftell determina a posição atual de um ponteiro em um dado arquivo. Sua sintaxe é: long int ftell ( FILE *ponteiro para o arquivo ); A função ftell devolve o valor do indicador de posição do ficheiro indicado. Para os fluxos binários, o valor devolvido representa a distância em bytes a partir do princípio da informação armazenada. Para os fluxos de texto, o valor devolvido contém um valor, que depende da implementação e que pode ser usado posteriormente por uma invocação de fseek para posicionamento do indicador de posição do ficheiro na mesma posição. A função devolve o valor do indicador de posição do ficheiro, em caso de sucesso, e o valor ??1L, em caso de erro. No caso de insucesso, a causa é sinalizada na variável global de erro errno. Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-informando-tamanho.html
-
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