LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: bcjm

如何用char型指针指向一个整型数据?

[复制链接]
发表于 2006-12-19 16:45:17 | 显示全部楼层
ls 的, str 要不要清 0 的?
回复 支持 反对

使用道具 举报

发表于 2006-12-19 16:51:42 | 显示全部楼层
  1. static char* itoa(int d)   // int conversion  to pointer to string;
  2.     278 {
  3.     279   if(d<0)
  4.     280     return NULL;
  5.     281   static char value[36];
  6.     282   register char *p=&value[35];
  7.     283   *p='\0';
  8.     284   p--;
  9.     285   while(d>0)
  10.     286   {
  11.     287     *p=d%10+'0';
  12.     288     p--;
  13.     289     d=d/10;
  14.     290   }
  15.     291     p++;
  16.     292     return p;
  17.     293 }
  18.     294
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-12-19 16:53:26 | 显示全部楼层
  1. static char* itoa(int d)   // int conversion  to pointer to string;
  2.     278 {
  3.     279   if(d<0)
  4.     280     return NULL;
  5.     281   static char value[36];
  6.     282   register char *p=&value[35];
  7.     283   *p='\0';
  8.     284   p--;
  9.     285   while(d>0)
  10.     286   {
  11.     287     *p=d%10+'0';
  12.     288     p--;
  13.     289     d=d/10;
  14.     290   }
  15.     291     p++;
  16.     292     return p;
  17.     293 }
  18.     294
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-12-19 16:57:54 | 显示全部楼层
给出一个fortran的实现,由 中华韧峰 提供
[php]
Character(Len=12) Function InttoStr(Num) Result(Rst)
           Integer,Intent(in)::Num
           Integer i,k1,k2,k
            k2=Abs(Num)
            If (K2<=9) Then
              Rst=char(k2+48)
            Else
              k1=mod(k2,10)
              Rst(12:12)=char(k1+48)
              k2=(k2-k1)/10
              i=12
              k=1
              Do While(k2>0)
                k1=mod(k2,10)
                i=i-1
                k=k+1
                Rst(i:i)=char(k1+48)
                k2=(k2-k1)/10
              EndDO
                Rst=Rst(12-k+1:12)
            EndIf
            If (Num<0) Rst='-'//Rst
EndFunction
[/php]
回复 支持 反对

使用道具 举报

发表于 2006-12-19 17:31:11 | 显示全部楼层
Post by rickxbx
ls 的, str 要不要清 0 的?


字串是带终止符号的。
回复 支持 反对

使用道具 举报

发表于 2006-12-19 17:59:43 | 显示全部楼层
Post by lyanry
字串是带终止符号的。

oh, I see, thanks
回复 支持 反对

使用道具 举报

发表于 2006-12-19 22:53:43 | 显示全部楼层
GCC不支持itoa,那么可以用sprintf,这个肯定是支持的
回复 支持 反对

使用道具 举报

发表于 2006-12-19 22:55:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表