Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Por que no toma los caracteres despues del espacio en blanco??

Estas en el tema de Por que no toma los caracteres despues del espacio en blanco?? en el foro de C/C++ en Foros del Web. Hola por que si escribo jesus albarado, solo me imprime jesus. y si pongo jesus_albarado me imprime todo?? Código: int main() { char nombre[80]; cout ...
  #1 (permalink)  
Antiguo 25/06/2011, 05:15
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años
Puntos: 3
Por que no toma los caracteres despues del espacio en blanco??

Hola por que si escribo jesus albarado, solo me imprime jesus. y si pongo jesus_albarado me imprime todo??

Código:
int main()
{
    char nombre[80];
    cout << "Como te llamas" << endl;
    cin >> nombre;
    cin.get();
    cout << "Hola: " << nombre;

    

    return 0;
}
  #2 (permalink)  
Antiguo 25/06/2011, 06:06
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Por que no toma los caracteres despues del espacio en blanco??

Porque estos tipos de lecturas se cortan cuando llegua un espacio o nueva linea. Podrias usar getline para leer una linea entera y asi resuelves tu problema.
  #3 (permalink)  
Antiguo 25/06/2011, 08:44
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años
Puntos: 71
Respuesta: Por que no toma los caracteres despues del espacio en blanco??

Concuerdo con el compañero sam90.

Para un mejor manejo de cadenas debes de usar la librería #include<string> y para que no obtengas esas fallar usar

Código C++:
Ver original
  1. using namespace std;

con lo cual capturas las cadenas completas.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%

Etiquetas: blanco, caracteres, espacio, toma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.