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 de onde);
Esta chamada do 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 é "deslocado", usado para posicionar o ponteiro. E o terceiro parâmetro, "onde" é usado para especificar a posição de um ponteiro de arquivo, e.g., começo, fim, meados.
Instale Manpages:
Para verificar as informações extras sobre chamadas do sistema, você deve instalar o pacote ManPages-Dev. Portanto, tente iniciar o terminal do Shell Linux usando a chave de atalho Ctrl+ Alt+ T ou pesquise na área de atividade. Depois de lançar com sucesso o terminal de comando, execute a consulta de instalação abaixo do apt para instalar a biblioteca ManPages-Dev. Requer sua senha de conta corrente 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 coletar informações.
$ sudo apt install manpages-devO processo de instalação fará você esperar um pouco de tempo. Após a conclusão da instalação, agora você pode verificar as informações sobre o comando "LSEEK". Então, escreva o comando "Man 2" abaixo, juntamente com o nome da chamada do sistema. Como você pode ver, estamos checando "LSEEK" na instrução abaixo.
$ man 2 lseekA página do homem para a chamada do sistema "LSEEK" foi aberta abaixo. Você pode obter todas as informações sobre isso.
Instale o compilador GCC:
Agora é hora de instalarmos o compilador GCC para a compilação de arquivos de linguagem C. Portanto, você deve usar um comando de instalação apt muito simples no shell para instalá -lo enquanto usa a extensão do compilador como nome de palavra -chave abaixo.
$ sudo apt install gccVai levar seu pouco tempo para fazer sua instalação. Depois de instalar o pacote GCC, seu sistema Linux está pronto para usar os arquivos de idioma C nele.
Exemplo 01:
Antes de se aprofundar para entender o conceito de chamada do sistema LSEEK, você deve iniciá -lo com um tipo simples de arquivo. Portanto, inicie o terminal e tente o comando touch abaixo para criar um arquivo simples chamado "Seek" no diretório inicial da sua distribuição Linux.
$ Touch SeekAdicione alguns dados ao arquivo "procure" e salve -os. Você pode ver o arquivo "buscar" o conteúdo do shell da linha de comando usando a consulta simples "CAT" abaixo. O conteúdo de um arquivo tem alguns alfabetos e números junto com a placa "*".
$ CAT BEAWVamos criar um arquivo de tipo C “Teste.C ”usando a palavra -chave nano para abri -la diretamente com o editor de nano. Tente executar o comando abaixo para fazer isso.
$ nano teste.cVamos verificar um programa sem o comando LSEEK. Ele abrirá um editor de texto Nano com um arquivo do tipo C mencionado no lado superior. Agora escreva o código abaixo da bala da imagem no arquivo editor C. As 4 primeiras 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 inteiros e do tipo de caractere para uso posterior. A terceira linha da função principal foi usar a chamada aberta para abrir um arquivo chamado "Seek", 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 12 dados de caracteres do arquivo Seek. A função de gravação foi usada para escrever dados na tela. Outro comando de leitura foi usado para obter os próximos 12 caracteres do descritor de arquivo "F", e o comando write está lendo os próximos 12 caracteres para a tela de saída. A partir disso, podemos assumir que a saída mostrará um total de 24 caracteres do arquivo "procurar". Pressione Ctrl+S para salvar este arquivo e tente Ctrl+X para fechá -lo.
Vamos apenas compilar o “teste.Arquivo C ”usando o comando GCC Compiler abaixo.
Teste $ GCC.cAgora execute o código do “teste.Arquivo C ”para verificar a saída do código C, conforme dado abaixo. A saída exibiu o conjunto de 24 caracteres de conteúdo da busca de arquivo como abaixo.
$ ./a.foraVamos usar o comando "LSEEK" no código para verificar a saída de uma chamada do sistema. Então abra o mesmo teste.Arquivo C usando o comando nano abaixo.
$ nano teste.cAtualize seu código como é. Desta vez, usamos 6 caracteres do arquivo de conteúdo para ser lido e escrito. 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.cA saída do código C usando o a.O comando Out mostra os 6 primeiros caracteres, depois pula os próximos 5 caracteres e depois mostra os próximos 6 caracteres consecutivos dos próximos 6 caracteres.
$ ./a.foraExemplo 02:
Para ter alguma mudança, vamos mudar o código. Abra o arquivo primeiro.
$ nano teste.cAgora estaremos usando o deslocamento "Seek_set" para dizer à chamada do sistema "LSEEK" para mostrar os próximos 6 caracteres da 10ª posição de uma string.
Compilar o arquivo C.
Teste $ GCC.cO comando de saída a.OUT tem mostrado os 6 caracteres do 10º índice de uma string.
Conclusão:
Este guia fez alguns exemplos simples de usar o comando "LSEEK" do sistema para verificar ou mostrar conteúdo ou dados de qualquer posição que queira.