Como usar os fgets () função para entrada de texto em C Programming

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 os fgets () função. Aqui é o formato:

Char #include * fgets (char * restringir s, int n, FILE * restringir stream) -

Assustador, não? Isso porque fgets () é uma função de arquivo, que lê o texto de um arquivo, como em # 147-file obter string. # 148- Isso é como programadores falar depois de uma noite em claro.

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 que 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 representa a quantidade de texto de entrada mais um, que deve ser do mesmo tamanho que a entrada padrão array- carvão animal e é o nome do dispositivo de entrada de padrão, tal como definido no ficheiro de cabeçalho stdio.h.

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

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

Exercício 1: Digite o código-fonte do 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 está definido para um máximo de dez caracteres de 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 # 147-arquivo # 148- a partir do qual a entrada é lido. stdin é stadard dentrocolocar.

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

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 do string de terminação - o NULL, ou 0. O espaço para este personagem é definido quando a matriz nome é criado na Linha 5. Se fgets () estavam a 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 The 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.

menu