a ver si alguien me puede echar una mano con esto:
tengo un problema con la lectura de cadenas con la funcion getline(), al principio me pasaba que si habia un '\n' en el buffer de cin, me guardaba una cadena vacia, y puse un cin.ignore() antes para limpiar el buffer, pues bien, ahora el problema es que si el buffer no tiene nada, y ejecuta el ignore(), al coger la cadena con el getline(), se come el primer caracter, no lo guarda.
La solucion que se me ocurria era comprobar antes de hacer el ignore() si habia algo en el buffer o no, pero no se como se comprueba eso.
a ver si alguien sabe como, u otra forma de solucionar esto.
espero que se haya entendido bien mi problema.
un saludo.
tengo un problema con la lectura de cadenas con la funcion getline(), al principio me pasaba que si habia un '\n' en el buffer de cin, me guardaba una cadena vacia, y puse un cin.ignore() antes para limpiar el buffer, pues bien, ahora el problema es que si el buffer no tiene nada, y ejecuta el ignore(), al coger la cadena con el getline(), se come el primer caracter, no lo guarda.
La solucion que se me ocurria era comprobar antes de hacer el ignore() si habia algo en el buffer o no, pero no se como se comprueba eso.
a ver si alguien sabe como, u otra forma de solucionar esto.
espero que se haya entendido bien mi problema.
un saludo.