Programação C

Como usar a chamada do sistema Lseek em C

Como usar a chamada do sistema Lseek em C

A chamada do Sistema Lseek foi usada para ler alguns caracteres ou dados específicos de um arquivo ou para escrever algum conteúdo no local específico de qualquer arquivo. Isso significa que você pode ler ou escrever entre o conteúdo de um arquivo.

Sintaxe:

Off_t lseek (int fd, off_t offset, int whence);

Esta chamada de sistema “lseek” requer dois arquivos de cabeçalho, e.g., “Sys / tipos.h ”e“ unistd.h ”. A chamada do sistema lseek requer três parâmetros. O primeiro é "fd", que é um descritor de arquivo. O segundo é "deslocamento", usado para posicionar o ponteiro. E o terceiro parâmetro, "de onde", é usado para especificar a posição de um ponteiro de arquivo, e.g., começo, fim, meio.

Instale Manpages:

Para verificar as informações extras sobre chamadas de sistema, você deve instalar o pacote manpages-dev. Portanto, tente iniciar o terminal shell do Linux usando a tecla de atalho Ctrl + Alt + T ou pesquise na área de atividade. Depois de iniciar com sucesso o terminal de comando, execute a consulta apt install abaixo para instalar a biblioteca manpages-dev. Requer a senha da sua conta atual para prosseguir com a instalação. Digite a senha e toque na tecla Enter da máquina de escrever. O processo de instalação será iniciado e começará a coleta de informações.

$ sudo apt install manpages-dev

O processo de instalação fará você esperar um pouco. Após a conclusão da instalação, você pode agora verificar as informações sobre o comando “lseek”.  Então, escreva o comando “man 2” abaixo junto com o nome da chamada do sistema. Como você pode ver, temos verificado a existência de “lseek” nas instruções abaixo.

$ man 2 lseek

A página do manual para a chamada de sistema “lseek” foi aberta abaixo. Você pode obter todas as informações a respeito.

Instale o compilador GCC:

Agora é hora de instalarmos o compilador GCC para a compilação de arquivos de linguagem C. Então, você tem que usar um comando apt install muito simples no shell para instalá-lo enquanto usa a extensão do compilador como nome de palavra-chave abaixo.

$ sudo apt install gcc

Levará pouco tempo para concluir a instalação. Depois de instalar o pacote gcc, seu sistema Linux está pronto para usar os arquivos de linguagem c nele.

Exemplo 01:

Antes de se aprofundar na compreensão do conceito da chamada de sistema lseek, você deve iniciá-la com um tipo simples de arquivo. Portanto, inicie o terminal e tente o comando de toque abaixo para criar um arquivo simples chamado “procurar” no diretório inicial de sua distribuição Linux.

$ touch seek

Adicione alguns dados ao arquivo “buscar” e salve-o. Você pode ver o conteúdo de "busca" do arquivo no shell da linha de comando usando a consulta "cat" simples abaixo. O conteúdo de um arquivo possui alguns alfabetos e números junto com o sinal “*”.

$ cat procuram

Vamos criar um arquivo do tipo C “teste.c ”usando a palavra-chave nano para abri-lo diretamente com o editor Nano. Tente executar o comando abaixo para fazer isso.

teste $ nano.c

Vamos verificar um programa sem o comando lseek. Ele irá abrir um editor de texto nano com um arquivo do tipo C mencionado na parte superior. Agora escreva o código mostrado abaixo a partir da imagem no arquivo C do editor. As primeiras 4 linhas contêm os arquivos de cabeçalho necessários para implementar o comando “lseek”. Depois disso, a função principal foi iniciada. Neste método principal, definimos dados de tipo inteiro e de caractere para uso posterior. A terceira linha da função principal tem usado a chamada de abertura para abrir um arquivo chamado “buscar”, que acabamos de criar acima, e o deslocamento “O_RDWR” foi usado para ler e escrever permissões. O conteúdo do arquivo foi devolvido ao descritor de arquivo “f”. Depois disso, usamos a primeira chamada de método de leitura para ler dados de 12 caracteres do arquivo de busca. A função de gravação foi usada para gravar dados na tela. Outro comando de leitura foi usado para obter os próximos 12 caracteres do descritor de arquivo “f”, e o comando de gravação está lendo os próximos 12 caracteres na tela de saída. A partir disso, podemos supor que a saída mostrará um total de 24 caracteres do arquivo “buscar”. Pressione Ctrl + S para salvar este arquivo e tente Ctrl + X para fechá-lo.

Vamos apenas compilar o “teste.c ”arquivo usando o comando do compilador GCC abaixo.

teste $ gcc.c

Agora execute o código do “teste.c ”arquivo para verificar a saída do código C conforme fornecido abaixo. A saída exibiu o conjunto de 24 caracteres de conteúdo da busca de arquivo como abaixo.

$ ./uma.Fora

Vamos usar o comando “lseek” no código para verificar a saída de uma chamada de sistema. Então abra o mesmo teste.arquivo c usando o comando nano abaixo.

teste $ nano.c

Atualize seu código como ele está. Desta vez, estamos usando 6 caracteres do arquivo de conteúdo para serem lidos e gravados. O comando lseek foi usado para pular os próximos 5 caracteres do arquivo de conteúdo e pular para os próximos caracteres usando o deslocamento “SEEK_CUR”.

Vamos compilar este código novamente.

teste $ gcc.c

A saída do código C usando o a.O comando out mostra os primeiros 6 caracteres, depois pula os próximos 5 caracteres e mostra os próximos 6 caracteres consecutivos.

$ ./uma.Fora

Exemplo 02:

Para fazer alguma mudança, vamos mudar o código. Abra o arquivo primeiro.

teste $ nano.c

Agora vamos usar o deslocamento “SEEK_SET” para dizer à chamada de sistema “lseek” para mostrar os próximos 6 caracteres da 10ª posição de uma string.

Compile o arquivo C.

teste $ gcc.c

O comando de saída a.out vem mostrando os 6 caracteres do décimo índice de uma string.

Conclusão:

Este guia oferece alguns exemplos simples de uso do comando de chamada de sistema “lseek” para verificar ou mostrar o conteúdo ou dados de qualquer posição que desejamos.

Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...
Vulkan para usuários de Linux
A cada nova geração de placas gráficas, vemos os desenvolvedores de jogos ultrapassarem os limites da fidelidade gráfica e se aproximarem mais do foto...