Introdução
Neste laboratório, aprenderemos como encontrar o tamanho de qualquer arquivo na linguagem de programação C. Usaremos as funções fseek() e ftell() para encontrar o tamanho do arquivo.
Nota: Você precisa criar o arquivo
~/project/main.cvocê mesmo para praticar a codificação e aprender como compilar e executá-lo usando o gcc.
cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main
Incluir Arquivos de Cabeçalho (Header Files)
Começaremos incluindo os arquivos de cabeçalho necessários stdio.h e stdlib.h.
#include<stdio.h>
#include<stdlib.h>
Criar a Função main()
Em seguida, criaremos a função main(), que é o ponto de entrada do nosso programa C.
int main()
{
return 0;
}
Definir Variáveis
Agora, definiremos as variáveis necessárias. Precisamos de um ponteiro FILE para armazenar o arquivo. Também precisamos de uma variável char para armazenar o caractere atual durante a leitura do arquivo. Finalmente, precisamos de um inteiro size para armazenar o tamanho do arquivo.
FILE *fp;
char ch;
int size = 0;
Abrir o Arquivo
Agora, abriremos o arquivo usando a função fopen() e verificaremos se o arquivo foi aberto com sucesso ou não.
fp = fopen("MyFile.txt", "r");
if (fp == NULL)
{
printf("\nFile unable to open...\n");
return 1;
}
else
{
printf("\nFile opened...\n");
}
Mover o Ponteiro do Arquivo
Agora, moveremos o ponteiro do arquivo para o final do arquivo usando a função fseek().
fseek(fp, 0, 2);
Obter o Tamanho do Arquivo
Em seguida, obteremos a posição atual do ponteiro do arquivo usando a função ftell() e a armazenaremos na variável size.
size = ftell(fp);
Imprimir o Tamanho do Arquivo
Finalmente, imprimiremos o tamanho do arquivo usando a função printf().
printf("The size of given file is: %d bytes\n", size);
Fechar o Arquivo
Terminamos com o arquivo agora, então o fecharemos usando a função fclose().
fclose(fp);
Código completo do programa
Aqui está o código completo do programa C para encontrar o tamanho de qualquer arquivo.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char ch;
int size = 0;
fp = fopen("MyFile.txt", "r");
if (fp == NULL)
{
printf("\nFile unable to open...\n");
return 1;
}
else
{
printf("\nFile opened...\n");
}
fseek(fp, 0, 2);
size = ftell(fp);
printf("The size of given file is: %d bytes\n", size);
fclose(fp);
return 0;
}
Resumo
Neste laboratório, aprendemos como encontrar o tamanho de qualquer arquivo na linguagem de programação C usando as funções fseek() e ftell(). Cobrimos os seguintes tópicos:
- Incluindo Arquivos de Cabeçalho (Header Files)
- Criando a Função
main() - Definindo Variáveis
- Abrindo o Arquivo
- Movendo o Ponteiro do Arquivo (File Pointer)
- Obtendo o Tamanho do Arquivo
- Imprimindo o Tamanho do Arquivo
- Fechando o Arquivo
É uma boa prática sempre fechar o arquivo após ler ou escrever nele.



