Nesta seção, aprenderemos a função getchar() na linguagem de programação C. A getchar() função é uma fora do padrão função cujo significado já está definido no stdin.h arquivo de cabeçalho para aceitar uma única entrada do usuário. Em outras palavras, é a função da biblioteca C que obtém um único caractere (unsigned char) do stdin. No entanto, a função getchar() é semelhante à função getc(), mas há uma pequena diferença entre as funções getchar() e getc() do Linguagem de programação C . Um getchar() lê um único caractere da entrada padrão, enquanto um getc() lê um único caractere de qualquer fluxo de entrada.
Sintaxe
int getchar (void);
Não possui nenhum parâmetro. No entanto, ele retorna os caracteres lidos como um caractere não assinado em um int e, se houver um erro em um arquivo, ele retorna o EOF no final do arquivo.
Agora escrevemos vários programas de função getchar() para aceitar caracteres únicos em C e imprimi-los usando a função putchar().
Leia um único caractere usando a função getchar()
Vamos considerar um programa para pegar um único usando a função getchar() em C.
Programa.c
#include #include void main() { char c; printf (' Enter a character '); c = getchar(); // get a single character printf(' You have passed '); putchar(c); // print a single character using putchar getch(); }
Saída
Enter a character A You have passed A
Como podemos ver no programa acima, ele recebe um único caractere em tempo de execução do usuário usando a função getchar(). Após obter o caractere, ele imprime a letra através da função putchar().
Leia n caracteres do usuário usando a função getchar()
Vamos considerar um programa para ler n caracteres usando a função getchar() em C.
Getchar.c
#include #include #include int main() { char ch; printf (' Enter a character ( If we want to exit press #) '); while (ch != '#') /* accept the number till the user does not enter the # to exit from the loop. */ { ch = getchar(); printf (' We have entered the character : '); putchar (ch); // print a single character printf (' '); } return 0; }
Saída
Enter a character ( If we want to exit.. press #) A We have entered the character: A We have entered the character: B We have entered the character: B We have entered the character: C We have entered the character: C We have entered the character:
Como podemos ver na saída acima, um loop while aceita continuamente um caractere do usuário até que o usuário não passe o caractere #. Aqui, a função getchar() pega um único caractere da entrada padrão e os atribui a uma variável ch. Enquanto a função putchar() imprime o caractere lido.
Leia um único caractere usando a função scanf()
Vamos considerar um programa para ler um caractere usando a função de biblioteca scanf() em C.
Programa.c
#include #include int main() { char ch; printf (' Enter the character '); scanf ('%c', &ch); // get a single character, numeric or words printf( ' You have entered %c', ch); /* It print a single character or first letter of the words. */ return 0; }
Saída
Enter the character A You have entered A
Como podemos ver, quando executamos o programa acima, ele utiliza um único caractere ou grupo de caracteres usando a função de biblioteca scanf() em vez da função getchar(). Mas há uma pequena diferença; uma função scanf() pode receber um único caractere ou um grupo de caracteres do usuário, enquanto a função getchar() pode aceitar apenas um único caractere.
Aqui executamos novamente o programa acima e, desta vez, mostra os resultados abaixo.
Enter the character Apple You have entered A
Leia os caracteres usando um loop do-while
Vamos considerar um programa para ler os caracteres usando as funções do while e getchar() em C.
Dowhile1.c
#include #include int main() { int ch, i = 0; char str[150]; printf (' Enter the characters from the keyboard (Press Enter button to stop). '); // use do while loop to define the condition do { ch = getchar(); // takes character, number, etc from the user str[i] = ch; // store the ch into str[i] i++; // increment loop by 1 } while (ch != ' '); // ch is not equal to ' ' printf('Entered characters are %s ', str); return 0; }
Saída
Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come
No programa acima, um loop do-while aceita continuamente os caracteres até que o usuário passe o DIGITAR botão para sair do loop.