En C++, si necesitamos leer algunas oraciones de una secuencia, la forma generalmente preferida es usar la función getline() , ya que puede leer secuencias de strings hasta que encuentra una nueva línea o ve un delimitador proporcionado por el usuario. Además, utiliza el archivo de encabezado <string.h> para ser completamente funcional.
Aquí hay un programa de muestra en c ++ que lee cuatro oraciones y las muestra con «: nueva línea» al final
CPP
// A simple C++ program to show working of getline #include <cstring> #include <iostream> using namespace std; int main() { string str; int t = 4; while (t--) { // Read a line from standard input in str getline(cin, str); cout << str << " : newline" << endl; } return 0; }
Entrada de muestra:
This is Geeks for
Como la salida esperada es:
This : newline is : newline Geeks : newline for : newline
La entrada y la salida anteriores se ven bien, puede haber problemas cuando la entrada tiene líneas en blanco en el medio.
Entrada de muestra:
This is Geeks for
Producción:
This : newline : newline is : newline : newline
No imprime las últimas 3 líneas. La razón es que getline() lee hasta que se encuentra enter incluso si no se leen caracteres. Entonces, incluso si no hay nada en la tercera línea, getline() lo considera como una sola línea. Además, observe el problema en la segunda línea. El código se puede modificar para excluir tales líneas en blanco. Código modificado:
CPP
// A simple C++ program that uses getline to read // input with blank lines #include <cstring> #include <iostream> using namespace std; int main() { string str; int t = 4; while (t--) { getline(cin, str); // Keep reading a new line while there is // a blank line while (str.length() == 0) getline(cin, str); cout << str << " : newline" << endl; } return 0; }
Entrada :
This is Geeks for
Salida :
This : newline is : newline Geeks : newline for : newline
Este artículo es una contribución de Sarin Nanda . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo en write.geeksforgeeks.org . Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA