Programa para Encontrar o Tamanho de Qualquer Arquivo

CBeginner
Pratique Agora

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.c você 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.