Recebendo caracteres em C através da função scanf()
A maneira é idêntica a que fizemos quando usamos a função scanf() para capturar números digitados pelo usuário, que como ensinado no artigo passado de nossa apostila.
Mas com os caracteres, ao invés de usar %d (para números inteiros0 ou %f (para números floats), vamos usar %c, pois é assim que representamos variáveis do tipo char em C.
Portanto, um programa que pede um caractere ao usuário e o imprime na tela é feito da seguinte maneira:
#include <stdio.h>
int main()
{
char letra;
printf("Insira um caractere: ");
scanf("%c",&letra);
printf("Você digitou: '%c'", letra);
}
Recebendo caracteres em C através da função getchar()
A função scanf() é bem poderosa e flexível. Com ela, podemos pegar uma infinidade de dados do usuário, e inclusive escolher o que vai ser 'capturado', limitar o tanto de coisas que pode ser escrito, e uma série de outras funcionalidades que vocês irão aprender durante nosso curso de C.
Porém, há mais opções que facilitam nossa vida, e uma delas é o getchar().
Existe uma função que faz o mesmo papel da scanf e é voltada para o uso com caracteres, é a getchar(). Ela é mais simples, pois não precisar usar %c ou &, como fazemos na scanf(), e foi feito especialmente para ser usado com caracteres.
Entendendo a palavra 'getchar':
get -> pegar
char -> caractere
ou seja, usamos essa função para 'capturar' ou pegar um caractere.
Para usar, fazemos:
seu_caractere = getchar();
Veja como é seu uso em um código que pede um caractere para o usuário, armazena no char 'letra', e em seguida exibe esse mesmo caractere.
#include <stdio.h>
int main()
{
char letra;
printf("Insira um caractere: ");
letra = getchar();
printf("Você digitou: '%c'", letra);
}
Recebendo caracteres em C através das funçoes fgetc e getc
Essas funções também servem para armazenar caracteres, porém são mais gerais que a getchar(), pois podem receber dados de outras fontes, além da padrão (o teclado - stdin).
Seus usos são semelhantes ao getchar(), porém temos que dizer ao C por onde o programa deve receber as informações.
No nosso caso, e pelo teclado, então fica: fgetc(stind) e getc(stdin)
Por exemplo, um aplicativo em C que recebe duas letras e mostra na tela seria:
#include <stdio.h>
int main()
{
char letra1, letra2;
printf("Insira um caractere: ");
letra1 = getc(stdin);
printf("Insira outro caractere: ");
letra2 = getc(stdin);
printf("Você digitou: '%c' e '%c'", letra1, letra2);
}
Não se esqueça de aplicar o que aprendeu |
Nenhum comentário:
Postar um comentário