Linguagem C FGETS

Linguagem C FGETS

Você está em: Início > Artigos > Desenvolvimento > Linguagem C > Linguagem C FGETS

Olá! Caro leitor, este artigo é voltado para quem está iniciando na programação utilizando a Linguagem C, neste artigo você irá aprender sobre FGETS.

Função fgets() em C: Leitura de Strings de Arquivos

Em linguagem C, a função fgets() é utilizada para ler strings de um arquivo.

Ela permite ler uma linha completa, incluindo espaços em branco, até encontrar um caractere de nova linha (‘\n‘) ou atingir o tamanho máximo especificado.

A função fgets() é especialmente útil para a leitura de arquivos de texto, onde cada linha contém uma sequência de caracteres.

A sintaxe da função fgets() é a seguinte:

char* fgets(char* str, int num, FILE* stream);

str: é o ponteiro para o array de caracteres onde a string lida será armazenada.

num: é o número máximo de caracteres a serem lidos (incluindo o caractere nulo de terminação da string).

stream: é o ponteiro para o arquivo do qual a string será lida.

A função fgets() lê caracteres do arquivo especificado pela variável stream e os armazena no array de caracteres str.

Ela para de ler quando atinge o número máximo de caracteres especificado em num ou quando encontra um caractere de nova linha (‘\n‘).

Após a leitura, a função adiciona automaticamente o caractere nulo (‘\0‘) no final da string lida, garantindo que ela seja corretamente terminada.

É importante notar que a função fgets() preserva os caracteres de nova linha (‘\n‘) no final da string lida, ao contrário da função fscanf() que os descarta.

Exemplo de uso da função fgets()

Vamos ver um exemplo de como utilizar a função fgets() para ler strings de um arquivo. Suponha que temos um arquivo chamado “exemplo.txt” contendo o seguinte conteúdo:

Olá, mundo!

Este é um exemplo de arquivo de texto.

Aqui está um programa em C que utiliza a função fgets() para ler as linhas desse arquivo:

#include <stdio.h>

int main() {

    FILE* arquivo = fopen("exemplo.txt", "r");

    if (arquivo == NULL) {

        printf("Erro ao abrir o arquivo.\n");

        return 1;

    }

    char linha[100];

    while (fgets(linha, sizeof(linha), arquivo) != NULL) {

        printf("%s", linha);

    }

    fclose(arquivo);

    return 0;

}

Nesse exemplo, abrimos o arquivo “exemplo.txt” no modo de leitura (“r“) usando a função fopen().

Em seguida, verificamos se o arquivo foi aberto corretamente antes de prosseguir.

Utilizamos um array de caracteres linha com tamanho 100 para armazenar cada linha lida do arquivo.

Em seguida, utilizamos um loop while para ler cada linha do arquivo utilizando a função fgets(). O resultado é então impresso na tela usando a função printf().

Após ler todas as linhas do arquivo, fechamos o arquivo utilizando a função fclose().

Considerações sobre a função fgets()

Ao utilizar a função fgets() para a leitura de strings de arquivos em C, é importante ter em mente algumas considerações:

Certifique-se de que o arquivo tenha sido aberto corretamente antes de chamar a função fgets().

É uma boa prática verificar se o ponteiro retornado pela função fopen() é diferente de NULL para garantir que o arquivo tenha sido aberto com sucesso.

Verifique o tamanho do array de caracteres passado como argumento para a função fgets().

Certifique-se de que ele tenha tamanho suficiente para armazenar a linha mais longa que você espera ler do arquivo, considerando também o caractere nulo de terminação da string.

Se a linha for mais longa do que o tamanho do array, a função fgets() irá truncar a linha.

Esteja ciente de que a função fgets() lê inclusive o caractere de nova linha (‘\n‘) e o armazena na string lida.

Se você não deseja incluir o caractere de nova linha na string, pode removê-lo substituindo-o por um caractere nulo (‘\0‘).

Se você precisar ler apenas uma parte específica de uma linha do arquivo, pode utilizar funções de manipulação de strings, como strtok() ou scanf(), para extrair os valores desejados.

Lembre-se de fechar o arquivo utilizando a função fclose() após concluir as operações de leitura.

Com essas considerações em mente, você pode utilizar a função fgets() de forma eficiente e segura para ler strings de arquivos em linguagem C.

Espero que este artigo tenha sido útil para entender o funcionamento e a utilização da função fgets().

Com essa função, você pode facilmente ler e processar linhas de um arquivo de texto em seus programas em C.

Aproveite a flexibilidade que a função fgets() oferece e explore diferentes aplicações em suas tarefas de manipulação de arquivos.

Você pode seguir seus estudos pegando um material em meu github clique aqui!

Deixe uma resposta

Rolar para cima
%d blogueiros gostam disto: