variable funciona dev archivos c++ getline cin

c++ - funciona - getline en c



std:: cin.getline() vs. std:: cin (3)

¿Cuándo se debería std::cin.getline() ? ¿Qué diferencia de std::cin ?


¿Leyó alguna documentación (por ejemplo, http://www.cplusplus.com/reference/string/getline/ )?

Básicamente, std::cin (o, en general, cualquier std::istream ) se usa directamente para obtener una entrada formateada, por ejemplo, int x; std::cin >> x; int x; std::cin >> x; . std::cin.getline() se usa simplemente para llenar un búfer sin char * .


En el caso de que char *, std::cin.getline obtenga línea, en lugar de std::cin obtener la primera palabra.


Tomemos std::cin.getline() aparte. Primero, hay std:: . Este es el espacio de nombres en el que vive la biblioteca estándar. Tiene cientos de tipos, funciones y objetos.

std::cin es tal objeto. Es el objeto de entrada de caracteres estándar, definido en <iostream> . Tiene algunos métodos propios, pero también puede usarlo con muchas funciones gratuitas. La mayoría de estos métodos y funciones son formas de obtener uno o más caracteres de la entrada estándar.

Finalmente, .getline() es uno de esos métodos de std::cin (y otros objetos similares). Usted le dice cuántos caracteres debería obtener del objeto en su lado izquierdo ( std::cin aquí), y dónde colocar esos caracteres. El número exacto de caracteres puede variar: .getline() se detendrá en tres casos: 1. Se alcanza el final de una línea 2. No quedan caracteres en la entrada (no sucede normalmente en std::cin como puede seguir escribiendo) 3. Se lee la cantidad máxima de caracteres.

Hay otros métodos y funciones que se pueden usar con el objeto std::cin , por ejemplo

std::string s; int i; std::cin >> s; // Read a single word from std::cin std::cin >> i; // Read a single number from std::cin std::getline(std::cin, s); // Read an entire line (up to /n) from std::cin std::cin.ignore(100); // Ignore the next 100 characters of std::cin