Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/04/2016, 03:38
Avatar de agusax
agusax
 
Fecha de Ingreso: junio-2011
Ubicación: Puerto Real (Cádiz)
Mensajes: 74
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Duda puntual: Cadenas de fechas

Este es mi test del desbordamiento
Código C++:
Ver original
  1. FCT_TEST_BGN(Fecha - Extraccion: desbordamiento) {
  2.       istringstream is("007/007/1997");
  3.       Fecha f;
  4.       fct_chk_ex(Fecha::Invalida, is >> f);
  5.     }

Esto es lo que me comenta el profesor:
Cita:

La Fecha "00002/003/02001" es válida porque es "2/3/2001": 2 de marzo de 2001. La Fecha "007/007/1997" también: "7/7/1997", 7 de julio de 1997; pero en este 2.º caso se está leyendo de un flujo de entrada; la lectura en este caso debería limitarse a 2+1+2+1+4=10 caracteres como mucho: el desbordamiento es en el flujo de entrada, no en la Fecha.

Pista: width o setw: http://en.cppreference.com/w/cpp/io/manip/setw
Por eso con el sscanf me da error la prueba de desbordamiento.
El problema es que no sé como utilizar eso.
__________________
"Nunca confíes en un ordenador que no puedas lanzar por una ventana" -- Steve Wozniak
"El software es como el sexo: mejor si es libre y gratis" -- Linus Torvalds

Última edición por agusax; 18/04/2016 a las 03:43