2011-04-22 25 views
6

Tengo que leer toda una línea de la consola y almacenarla en una matriz std::string y char, p. Ej.cómo leer la línea desde la consola y almacenarla en una cadena en C++?

"Hi this is balaji" 

ahora tengo que leer la cadena de arriba y almacenarlo en string. Lo intenté usando la función getline().

+1

Cuál es el problema? ¿No funcionó 'getline()'? –

+0

Recomiendo un buen libro, [cualquiera de estos] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) servirá. – Xeo

Respuesta

17

Probar:

#include <string> 
#include <iostream> 

int main() 
{ 
    std::string line; 

    std::getline(std::cin, line); // read a line from std::cin into line 

    std::cout << "Your Line Was (" << line << ")\n"; 

    std::getline(std::cin, line); // Waits for the user to hit enter before closing the program 
} 
+0

intenté pero el control no se detiene en la entrada, mi código es el siguiente: – balaji

+2

@balaji: Intente no. –

0

Quizás haya algún problema con la forma de usar cin.getline()?

cin.getline (name,256); 

C++ refence for getline()

+2

No use esa versión de getline. ¿Qué sucede si la línea tiene más de 256 caracteres o, peor aún, qué ocurre si el búfer tiene menos de 256 caracteres? –

0

Tal

string a; 
cin >> a; 

cout << a << endl; 

O algo por el estilo?

+0

que lee una palabra separada del espacio. –

+0

Bueno ... ¡NO! :) Lee la entrada del usuario. – nagymafla

+2

lee alguna entrada del usuario, pero el OP específicamente pidió ayuda para leer una "línea completa", y esto no es así. –

Cuestiones relacionadas