¿Cuál es una mejor manera de borrar la entrada cin
? Pensé que cin.clear
y cin.ignore
era una buena manera?Clearing cin input: es cin.ignore no es una buena manera?
Código:
void clearInput()
{
cin.clear();
cin.ignore(1000,'\n');
//cin.ignore(std::numeric_limits<streamsize>::max(), '\n');
}
Mi maestro me dio esta respuesta:
esto es básicamente diciendo que su clearInput no funciona FYI: ignore nunca es una buena idea como una forma de deshacerse de todo lo que queda en una línea
y su examen de esta falla es exactamente la razón por la cual ahora ve claro que la forma correcta
Ella también me ha dicho esto siguiente:
en ignorar lo que necesita adivinar cómo muchos caracteres que desea ignorar Si se Conozca absolutamente sus datos y sigue un formato estricto - como en Excel hojas de cálculo, ignorar es realmente bueno. Si NO se encuentra en este tipo de archivo, , entonces NUNCA use ignore. Pregunta, ¿sus datos están bien formados? Si es así, use ignore. Si no, no use ignorar.
¿Lista TODA la manera de obtener datos? 1) hay extracción >>
y también hay ??????
favor haga una lista para mí
¿Por qué? ¿Piensa que ignorar significa "ignorar"? Extrae y lanza los personajes, presumiblemente lo que quería que hicieras manualmente. – Duck
Parece que tu profesor es mediocre. Hasta donde yo sé, 'clear' then' ignore' es la forma estándar de borrar la línea. Entonces, de nuevo, mi conocimiento de la corriente es bajo. – GManNickG
Iría un poco más allá de "algo malo". La mejor suerte en la clase y parece que deberías "ignorarlo". – Potatoswatter