[C con Clase] duda sencilla leer cadena

marcelinux marcelinator en gmail.com
Mar Mar 8 22:33:46 CET 2016


El pasado 2016-03-05 12:53:51, yolmer escribió:
 
y> el problema es que si sólo doy enter sin escribir nada el cin sigue
y> esperando
y> como puedo leer una cadena vacía con cin

Mi propuesta es:
/*************************************************************************
 * Prueba de introducción válida con std::cin
 * Usando la función miembro getline(char *str, streamsize n, char delim)
 *************************************************************************/
#include <iostream>
#include <cstring>
using namespace std;


int main()
{
	streamsize tope = 80;
	char *str = new char[tope];
	char delim = '\n';
	while (cin.getline(str, tope, delim))
	{
		cout << "Longitud de la cadena es " << strlen(str) << endl;
		if (strlen(str) > 0)
			cout << "Se introdujo " << str << endl;
		else
			break;
	}

	delete str;
	cout << "Finalizó la lectura" << endl;
	return 0;
}


Más información sobre la lista de distribución Cconclase