itoa 原函数

来源:互联网 发布:java生成xml文件 编辑:程序博客网 时间:2024/04/28 11:22

itoa 在linux下不能使用

void   itoa   (   unsigned   long   val,   char   *buf,   unsigned   radix   )   {                   char   *p;                                 /*   pointer   to   traverse   string   */                   char   *firstdig;                   /*   pointer   to   first   digit   */                   char   temp;                             /*   temp   char   */                   unsigned   digval;                 /*   value   of   digit   */                   p   =   buf;                   firstdig   =   p;                       /*   save   pointer   to   first   digit   */                   do   {                           digval   =   (unsigned)   (val   %   radix);                           val   /=   radix;               /*   get   next   digit   */                           /*   convert   to   ascii   and   store   */                           if   (digval   >   9)                                   *p++   =   (char   )   (digval   -   10   +   'a ');     /*   a   letter   */                           else                                   *p++   =   (char   )   (digval   +   '0 ');               /*   a   digit   */                   }   while   (val   >   0);                   /*   We   now   have   the   digit   of   the   number   in   the   buffer,   but   in   reverse                         order.     Thus   we   reverse   them   now.   */                   *p--   =   '\0 ';                         /*   terminate   string;   p   points   to   last   digit   */                   do   {                           temp   =   *p;                           *p   =   *firstdig;                           *firstdig   =   temp;       /*   swap   *p   and   *firstdig   */                           --p;                           ++firstdig;                   /*   advance   to   next   two   digits   */                   }   while   (firstdig   <   p);   /*   repeat   until   halfway   */   }



原创粉丝点击