Fseek em c

Fseek em c
Como usuário diário de computador, estamos sempre trabalhando com arquivos e pastas. Esses arquivos e pastas são os itens obrigatórios em qualquer sistema operacional como Windows ou Linux. Além de acessar os arquivos através do sistema operacional, também podemos acessar esses arquivos e pastas em qualquer linguagem de programação através do arquivamento. Embora não seja tão simples quanto usar os arquivos e pastas em sistemas operacionais, pode nos fornecer uma quantidade suficiente de informações.

A função "fseek" de "C" foi projetada para obter informações sobre a gama específica de dados de texto em qualquer tipo de arquivo como o número total de caracteres, exibir os dados de texto específicos e muito mais. Como trabalhamos na plataforma Linux, é necessário instalar o compilador C através do aplicativo "linha de comando". Portanto, abra rapidamente seu aplicativo "terminal" e tente atualizar seu Ubuntu 22.04 Sistema Linux primeiro. Use o utilitário "apt" com os direitos "sudo" na consulta "atualização" para atualizá -la.

Depois que todo o sistema é atualizado, vamos configurar o compilador "C" em nossa máquina Linux. É uma necessidade de nossos exemplos de código porque, sem um compilador, seremos incapazes de executar os códigos. Assim, utilizando a ferramenta "apt" mais uma vez, instalamos o compilador "GCC" para a linguagem "C" usando a consulta "Instalação" mostrada na imagem a seguir:

Vamos criar um arquivo de texto antes de criar um código C. Este arquivo de texto é produzido usando a consulta Linux "Touch", como mostrado na ilustração a seguir. Depois disso, adicionamos algum texto no novo arquivo. Cinco (5) linhas de dados de texto também são exibidas no shell através da instrução "CAT".

Exemplo 01:

Iniciamos esta primeira ilustração de C para elaborar sobre como podemos usar a função FSEEK para mover o cursor para o ponto específico do arquivo e contar o número total de caracteres dentro de um intervalo específico. Assim, a consulta "Touch" é usada novamente para criar um arquivo com a extensão "C", eu.e. “Fseek.C ”. A consulta da lista mostra esse arquivo recém -produzido na pasta doméstico.

Para começar a codificar dentro do arquivo C, abrimos este arquivo no editor GNU Nano do sistema Linux. Agora, o arquivo C deve começar com o “stdio.H ”Cabeçalho porque é uma obrigação para a utilização das declarações de entrada e saída de C. Depois de incluir o cabeçalho padrão, usamos a função "principal". Usamos a função interna na função principal (), para que não há necessidade de adicionar nenhuma função definida pelo usuário.

O objeto "arquivo" é usado para criar um descritor de arquivo do tipo ponteiro "f". Este descritor de arquivo nos ajuda a acessar e modificar o arquivo sempre que possível. Usamos a função "fopen" de C para simplesmente abrir o "fseek.arquivo txt ”em um modo de leitura usando o argumento“ r ”. A função fopen () retorna algum valor ao descritor "F" que nos diz se o arquivo é lançado com sucesso ou não. O descritor de arquivo "F" nos ajuda a executar a busca em um arquivo de texto através da função "FSEEK", colocando o ponteiro no índice "0" até o final do arquivo, I I.e. Opção “Seek_end”.

A instrução "c" idioma "printf" utiliza a função "ftell" com o descritor de arquivo "f" para nos dizer o número total de caracteres em um arquivo do índice 0 ao fim.

#incluir
int main ()
Arquivo *f;
f = fopen ("fseek.txt "," r ");
fseek (f, 0, seek_end);
printf ("Número total de caracteres: %ld \ n", ftell (f));
retornar 0;

Salvamos nosso código e o compilamos usando a instrução "GCC" do compilador no shell. Ao executar este código compilado, obtemos "69" como a saída do total de caracteres em um arquivo.

Exemplo 02:

Neste exemplo do programa C, veremos como podemos adicionar os dados de texto a um arquivo usando o local específico através da função fseek (). Portanto, utilizamos um pouco o mesmo código com muitas modificações. Começando ao adicionar a entrada e saída e adicionar o método Main (), inicializamos um descritor de arquivo de ponteiro usando o objeto "arquivo". Este descritor assume seu valor como o valor retornado da função "fopen ()", que está tentando abrir um arquivo em um modo de gravação.

A função "fputs" de C é usada aqui para adicionar alguns dados em um arquivo. E a função fseek () define a localização de um cursor para 0 índice no início. Novamente, usando a função fputs (), adicionamos um texto no início de um arquivo através do descritor "f". A função fclose () usa o descritor de arquivo "f" para fechar o arquivo de texto depois de escrever nele. Salvamos este código antes de executá -lo.

#incluir
int main ()
Arquivo *f;
f = fopen ("fseek.txt "," w+");
fputs ("meio final!", f);
fseek (f, 0, seek_set);
fputs ("start", f);
fclose (f);
retornar 0;

Após a compilação, não encontramos erros e o executamos com o “./a.OUT ”Comando de Execução do Linux. A execução não retornou nada, mas fez algumas mudanças no “FSEEK.arquivo txt ”. A instrução do gato mostra que o texto "Start" é adicionado à posição inicial de um texto "meio final".

Depois disso, atualizamos o código mais uma vez e atualizamos a posição de um ponteiro a ser colocado no arquivo, eu.e. Índice de posição 6. O restante não é incomodado por uma única mudança de palavra.

#incluir
int main ()
Arquivo *f;
f = fopen ("fseek.txt "," w+");
fputs ("meio final!", f);
fseek (f, 6, seek_set);
fputs ("start", f);
fclose (f);
retornar 0;

Quando compilamos esse código recém -atualizado com o compilador "GCC", além de executá -lo através do "./a.Fora ”, consulta, não retornou nada, pois fez algumas alterações no arquivo de texto. Ao exibir os dados do “FSEEK.arquivo txt ”, mostra que a palavra“ start ”é adicionada no final de um arquivo após o índice de posição especificado“ 6 ”.

Conclusão

Este guia é um bônus para os usuários de C para entender o uso da função fseek () de C com mais precisão com os exemplos simples. Para isso, tentamos criar o sistema Linux atualizado e configuramos o compilador C. Junto com isso, empregamos o exemplo de C para usar a função fseek () para colocar o cursor em pontos específicos no arquivo. Também tentamos as diferentes funções, como a função ftell () para exibir o total de caracteres da função FILE e FPUPS () para adicionar os dados a um arquivo.