elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda con buffer de cin
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda con buffer de cin  (Leído 1,787 veces)
david_tosc90

Desconectado Desconectado

Mensajes: 1


Ver Perfil
duda con buffer de cin
« en: 17 Abril 2014, 18:15 pm »

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.


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: duda con buffer de cin
« Respuesta #1 en: 17 Abril 2014, 23:54 pm »

Para conocer cual es el siguiente carácter en cin (sin extraerlo) puedes utilizar la función std::istream::peek.

Sin embargo por lo que comentas el problema de raíz es el uso intercalado de getline y (al parecer) el operador ">>". Para solucionarlo debes buscar todas las instancias donde utilizas ">>" seguidas del uso de getline, es en medio de ellas que debes descartar el resto de la linea.

Aquí lo mejor que puedes hacer es publicar la versión mas corta posible de tu programa que compile y presente el problema. A partir de el ya podemos ayudarte.

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda Doble Buffer :(
Java
Amerikano|Cls 4 6,517 Último mensaje 12 Mayo 2009, 19:41 pm
por Amerikano|Cls
Duda Buffer Overflow
Bugs y Exploits
R007h 2 3,847 Último mensaje 17 Mayo 2010, 00:52 am
por dark_hat
Consultas SQL para saber key Buffer en MyISAM y Buffer Pol en InnoDB
Bases de Datos
el-brujo 0 3,657 Último mensaje 23 Mayo 2012, 16:34 pm
por el-brujo
Problema, return address buffer overflow (Cómo calcular la dirección del buffer?
Bugs y Exploits
Debci 6 7,690 Último mensaje 7 Abril 2014, 20:00 pm
por soez
Duda curl y buffer php
PHP
MetaNoia 0 1,881 Último mensaje 1 Marzo 2020, 21:28 pm
por MetaNoia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines