Função ftell em c

Função ftell em c
Como muitas outras linguagens de programação, o idioma C criou muitas funções embutidas. Essas funções foram adicionadas ao idioma C para executar diferentes funções em diferentes níveis.

Uma das funções é a função "ftell ()" do conceito de arquivamento C. Esta função provavelmente é usada para ler a localização do arquivo existente do fluxo fornecido em relação ao início do arquivo. Ao mudar o ponteiro do documento para o último local do documento, esse método está sendo salgado para recuperar o tamanho geral do conjunto de dados. O local atual é retornado em formato longo e o documento pode conter mais de 32767 bytes de informação. Assim, decidimos cobrir o c ftell () no Ubuntu 20.04 Sistema.

Comece com o lançamento do terminal do Ubuntu, eu.e., Ctrl+alt+t. Temos que fazer um novo arquivo de texto na pasta doméstico do nosso sistema Ubuntu. Use a instrução de toque para fazer isso. Vá em direção à pasta doméstico do seu sistema Linux e abra o arquivo recém-criado, tocando duas vezes. Adicione alguns dados de texto nele, salve e feche -os.

Você pode ver que criamos o arquivo.arquivo txt e adicionou os dados abaixo da balança nele. Utilizaremos este arquivo em nossos exemplos quase ael.

$ CAT FILE.TXT

Exemplo 01:

Vamos compensar nossos primeiros exemplos para este artigo. Você precisa criar um novo arquivo do tipo C em seu sistema usando a instrução de toque do Ubuntu junto com o nome de um arquivo usando o “.Extensão C ”. Este arquivo é necessário para abrir em um dos editores do Ubuntu para usá -lo para um código. Você pode usar o vim, texto ou editor de nano. Temos usado o editor "GNU Nano" até agora para tornar nosso código mais atraente.

$ touch ftell.c
$ nano ftell.c

Quando o arquivo foi aberto no editor do GNU Nano, ele estará inicialmente vazio. Temos que iniciar nosso código C com o uso de cabeçalhos, provavelmente “stdio.h ". Estaremos executando nosso código na função principal () deste código.

Inicie a função principal () do tipo de retorno "int". Declaramos o descritor de arquivo do tipo de ponteiro usando o objeto de arquivo. Outra variável do tipo inteiro também é declarada, eu.e., "comprimento". Agora, temos que abrir o arquivo de texto já existente do nosso sistema usando a função fopen () do arquivo C para ler seus dados com as gravações de leitura, i.e., "R". Se o arquivo fosse aberto com sucesso, o descritor de arquivo será retornado com algum valor inteiro, provavelmente "1".

Temos utilizado a declaração "se" para verificar se o valor do descritor de arquivo que acabamos de obter é nulo ou não. Nesse caso, ele chamará o método perror () de C para gerar um prompt de erro, eu.e., “Há algum erro”. Após esta declaração "se", se o arquivo for aberto com sucesso, usaremos a função Seek () do arquivamento C para levar o ponteiro para o final de um arquivo.

Temos que utilizar a opção Seek_end como o terceiro argumento da função fseek (). O 0 nesta função é usado para procurar o ponteiro das 0 posições. O comprimento do tamanho total do arquivo foi obtido do uso da função ftell ().

O arquivo foi fechado com a função fclose () utilizando o descritor de arquivo nele. Agora, a instrução printf está aqui para exibir os bytes totais de dados em nosso arquivo de texto usando a variável "comprimento". Salve seu arquivo de código com o atalho Ctrl+S.

#incluir
void main ()
Arquivo *fd;
comprimento int;
fd = fopen ("arquivo.txt "," r ");
if (fd == null)
perror ("há algum erro");
retornar (-1);

fseek (fd, 0, seek_end);
comprimento = ftell (fd);
fclose (FD);
printf ("Tamanho do nosso arquivo: %d bytes \ n", len);
retornar (0);

Saia do editor Nano com Ctrl+X de atalho compilar o código C através do compilador "GCC". Execute seu código depois disso com o “./a.out ”comando. Você pode ver que nosso arquivo de texto tem um total de 370 bytes.

$ gcc ftell.c
$ ./a.fora

Exemplo 02:

Vamos dar um novo exemplo para usar a função ftell () de C dentro dele. Use o mesmo arquivo de código para tornar nosso código atualizado. Use o “stdio.H ”Cabeçalho e Inicie a função principal (). Use o descritor de arquivo do tipo de ponto "f" para abrir o arquivo de texto "Arquivo.txt ”no modo de leitura. Declarar uma variedade de tamanho 10, eu.e., "A". Temos usado a função fscanf () do arquivamento C para digitalizar a primeira string do arquivo de texto com não mais de 10 letras.

A instrução printf () está usando o descritor de arquivo em sua função ftell () para exibir o comprimento da primeira string de seu arquivo de texto também.

#incluir
void main ()
Arquivo *f = fopen ("arquivo.txt "," r ");
char a [10];
fscanf (f, "%s", a);
printf ("Posição do ponteiro: %ld \ n", ftell (f);
retornar (0);

Após esta compilação e corrida de código, este arquivo nos mostra a saída, eu.e., a posição do ponteiro após o 1st String é 4, como mostrado abaixo.

$ gcc ftell.c
$ ./a.fora

Vamos fazer a primeira string no arquivo.arquivo txt um pouco mais usando edição simples.

$ CAT FILE.TXT

Agora, use a mesma quantidade de código sem atualização/alteração para ver como ele resulta. Temos usado a matriz de tamanho 10 para a matriz "A". Se o tamanho for menor, ele exibirá o tamanho total da primeira string, eu.e., comprimento, mas mostre alguma saída na área de saída também.

A execução deste código nos mostra que o tamanho é 28, mas o programa é esmagado porque a primeira corda é de 28 tamanhos e você está usando uma área do tamanho 10.

$ gcc ftell.c
$ ./a.fora

Conclusão:

Este artigo discutiu os pequenos detalhes do uso da função ftell () de C para obter o tamanho dos dados usados ​​em algum documento específico. Discutimos duas das ilustrações simples para explicar o conceito de função FTELL na linguagem de programação C C.