#include "stdlib.h" #include "string.h" #include "limits.h" int main( void ) { char *res; char buf[12]; // simple conversion without sign res = itoa( 568876, buf, 10 ); if( strcmp( buf, "568876" ) ) return 1; // test if the returned pointer points to the buffer if( strcmp( res, buf ) ) return 1; // conversion with sign res = itoa( -568876, buf, 10 ); if( strcmp( buf, "-568876" ) ) return 1; // convert upper limit res = itoa( INT_MAX, buf, 10 ); if( strcmp( buf, "2147483647" ) ) return 1; // convert lower limit res = itoa( INT_MIN+1, buf, 10 ); if( strcmp( buf, "-2147483647" ) ) return 1; // convert to hex res = itoa( 568876, buf, 16 ); if( strcmp( buf, "8AE2C" ) ) return 1; return 0; }