Este es mi test del desbordamiento
Código C++:
Ver originalFCT_TEST_BGN(Fecha - Extraccion: desbordamiento) {
istringstream is("007/007/1997");
Fecha f;
fct_chk_ex(Fecha::Invalida, is >> f);
}
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.