Como usar os fgets () função para a entrada de texto em c programação

Para uma função de entrada de texto de uso geral na linguagem de programação C, que lê além do primeiro caractere espaço em branco, tente as fgets () função. Aqui é o formato:

#include de char * fgets (char * restringir s, int n, FILE * restringir o fluxo) -

Assustador, não? Isso porque fgets () é uma função de arquivo, que lê o texto de um arquivo, como em “string arquivo get.” É assim que os programadores falar depois de um todo-noite.

Como o sistema operacional considera a entrada padrão como um arquivo, você pode usar fgets () para ler o texto a partir do teclado.

Aqui está uma versão simplificada dos fgets () função de como se aplica a entrada de texto de leitura:

fgets (corda,Tamanho,stdin) -

Neste exemplo, corda é o nome de uma matriz de caracteres, uma cadeia Variável Tamanho é a quantidade de texto para entrada mais 1, que deve ser do mesmo tamanho que o array- carvão animal e entrada padrão é o nome do dispositivo de entrada de padrão, tal como definido no ficheiro de cabeçalho stdio.h.

Video: Programar em C - Manipulação de Arquivos txt em C / Ler Dados - Aula 82

A FGETS () FUNÇÃO Lê uma string

main () {char nome int #include [10] -printf ("Quem é Você? ") -fgets (nome, 10, stdin) -printf ("Fico feliz em conhecê-lo,% s.n", Nome) -Retornar (0) -}


Exercício 1: Digite o código-fonte do A fgets () Função Lê um String em um novo projeto, ex0716. Compilar e executar.

A função fgets () na linha 8 lê no texto. O texto vai para a matriz nome, que é definido para um máximo de dez caracteres na Linha 5. O número 10 especifica que fgets () lê em apenas nove caracteres, um a menos do que o número especificado. Finalmente, stdin é especificado como o “file” a partir do qual a entrada é lido. stdin é stadard dentrocolocar.

A matriz de char deve ter um carácter adicional reservada para o no final de uma corda. Seu tamanho deve ser igual ao tamanho da entrada que você precisa - mais um.

Video: Programar em C - Função getchar e Função putchar - Aula 93

Veja como o programa é executado:

Quem é Você? Danny GookinFico feliz em conhecê-lo, Danny Goo.

Apenas os primeiros nove caracteres do texto digitado na primeira linha são exibidos. Por que apenas nove? Por causa do caráter de terminação da string - o NULL, ou. O espaço para este personagem é definido quando a matriz nome é criado na Linha 5. Se fgets () eram de ler em dez caracteres em vez de nove, a matriz iria transbordar, eo programa pode não funcionar correctamente.

Exercício 2: Alterar o tamanho da matriz no código-fonte do fgets () Função lê uma cadeia para um valor constante. Defina a constante para permitir a entrada de apenas três caracteres.

  • A função fgets () lê o texto da entrada padrão, e não a partir do teclado diretamente.

  • O valor retornado por fgets () é a cadeia que foi entrada.

    Video: Programar em C - Funções freopen e fgets / stdin [Parte 2]- Aula 87


Publicações relacionadas