#include "basic/basic.h" #define LEN 10 const char* IntToStrX(unsigned int num, unsigned int mxlen){ static char s[LEN+1]; int len; s[LEN]=0; for (len=(LEN-1);len>=(LEN-mxlen);len--){ s[len]=(num%16)+'0'; if(s[len]>'9') s[len]+='A'-'9'-1; num/=16; }; return &s[len+1]; }; #undef LEN #define LEN 11 const char* IntToStr(int num, unsigned int mxlen, char flag){ static char s[LEN+1]; int len; s[LEN]=0; char neg=0; if(num<0){ num=-num; neg=1; }; for (len=(LEN-1);len>=(LEN-mxlen);len--){ s[len]=(num%10)+'0'; num/=10; }; len++; if(!(flag&F_LONG)){ while(s[len]=='0' && len < (LEN-1)) len++; }else if(!(flag&F_ZEROS)){ int x=len; while(s[x]=='0' && x < (LEN-1)){ s[x]=' '; x++; }; } if(neg==1){ len--; s[len]='-'; }else if(flag&F_SPLUS){ len--; s[len]='+'; }else if(flag&F_SSPACE){ s[len]=' '; }; return &s[len]; }; #undef LEN