comparaisons d un long aux valeurs de la librairie limits.h - C++ - Programmation
Marsh Posté le 13-05-2003 à 20:29:42
static int VerifReservInit (Elem E) { LigneLog L = E.ligne ; DirReserv D = L.u.uri.dir ; long V = L.u.uri.p0.u.nb ; printf ("%d", V) ; switch (D) { case R_HALF : if (((V <= INT_MAX) && (V >= INT_MIN)) || ((unsigned)V <= UINT_MAX)) return 0; else { return 1 ; printf ("La valeur a laquelle ont veut initialiser est trop grande" ); } break; case R_BYTE : if (((V <= SHRT_MAX) && (V >= SHRT_MIN)) || ((unsigned)V <= USHRT_MAX)) return 0; else { return 1 ; printf ("La valeur a laquelle ont veut initialiser est trop grande" ); } break; } } mes tests foirent... V etant un long... y a-t-il moyen de caster mes valeurs limites SHRT_MAX, SHRT_MIN... en long aussi
Marsh Posté le 13-05-2003 à 21:04:07
ben tu fais long(INT_MAX) ca marche pas ca?
Marsh Posté le 14-05-2003 à 08:23:51
(long)INT_MAX ?
Make sure you enter the(*)required information where indicate.HTML code is not allowed
Marsh Posté le 13-05-2003 à 20:29:42
static int VerifReservInit (Elem E) {
LigneLog L = E.ligne ;
DirReserv D = L.u.uri.dir ;
long V = L.u.uri.p0.u.nb ;
printf ("%d", V) ;
switch (D) {
case R_HALF :
if (((V <= INT_MAX) && (V >= INT_MIN)) || ((unsigned)V <= UINT_MAX))
return 0;
else {
return 1 ;
printf ("La valeur a laquelle ont veut initialiser est trop grande" );
}
break;
case R_BYTE :
if (((V <= SHRT_MAX) && (V >= SHRT_MIN)) || ((unsigned)V <= USHRT_MAX))
return 0;
else {
return 1 ;
printf ("La valeur a laquelle ont veut initialiser est trop grande" );
}
break;
}
}
mes tests foirent...
V etant un long...
y a-t-il moyen de caster mes valeurs limites SHRT_MAX, SHRT_MIN... en long aussi
---------------
Les accents sont en option... j'ai un clavier qwertz.