FACULDADE DE INFORMÁTICA DA PUCRS
Laboratório de Programação I
cin.getline
Se você já tentou usar o gets ou o scanf para ler strings utilizando os compiladores GNU
g++ já deve saber dos problemas que elas apresentam:
- a função scanf
não lê strings com espaços em branco;
- a função fgets
é considerada obsoleta;
- o uso das duas funções no mesmo código fonte
causa problemas na execução.
Para contornar estes problemas você pode usar o métodos getline do objeto cin.
Além de permitir que sejam digitados espaços em branco, o
método getline ainda
tem a vantagem de que é possível definir o número
máximo de caracteres que serão colocados na
variável
Este objeto está definido no arquivo iostream.h.
//
*************************************
//
Exemplo com cin.getline
//
// FACULDADE DE INFORMÁTICA DA PUCRS
//
// Laboratório de Programação I
// *************************************
// inclui o arquivo de cabeçalho necessário
// para a o objeto cin.
#include <iostream.h>
#define SIZE 100
int main(void)
{
char nome[SIZE];
printf("Digite seu nome: ");
cin.getline(nome,SIZE);
printf("Nome informado: %s\n", nome);
printf("Pressione enter para encerrar\n");
getchar();
return 0;
}