标题:为何整型转字符型会提示“调用的‘itoa’的参数太少在main函数中?
只看楼主
kooyou
Rank: 2
等 级:论坛游民
帖 子:13
专家分:28
注 册:2010-1-12
结帖率:0
已结贴  问题点数:20 回复次数:1 
为何整型转字符型会提示“调用的‘itoa’的参数太少在main函数中?
本人好小用itoa函数,希望各位帮帮手,给个关于itoa函数的详解,还有运用时要注意的地方~~先谢了~
搜索更多相关主题的帖子: 参数 函数 itoa main 整型 
2010-01-13 10:56
wy364447047
Rank: 2
等 级:论坛游民
帖 子:2
专家分:30
注 册:2007-8-28
得分:20 
 用 法: char *itoa(int value, char *string, int radix);
  头文件: <stdlib.h>
  程序例:
  #include <stdlib.h>
  #include <stdio.h>
  int main()
  {
  int number = 123456;
  char string[25];
  itoa(number, string, 10);
  printf("integer = %d string = %s\n", number, string);
  return 0;
  }
  /* 实现itoa函数的源代码 */
  char *myitoa(int num,char *str,int radix)
  {
  /* 索引表 */
  char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  unsigned unum; /* 中间变量 */
  int i=0,j,k;
  /* 确定unum的值 */
  if(radix==10&&num<0) /* 十进制负数 */
  {
  unum=(unsigned)-num;
  str[i++]='-';
  }
  else unum=(unsigned)num; /* 其他情况 */
  /* 逆序 */
  do
  {
  str[i++]=index[unum%(unsigned)radix];
  unum/=radix;
  }while(unum);
  str[i]='\0';
  /* 转换 */
  if(str[0]=='-') k=1; /* 十进制负数 */
  else k=0;
  /* 将原来的“/2”改为“/2.0”,保证当num在16~255之间,radix等于16时,也能得到正确结果 */
  for(j=k;j<(i-1)/2.0+k;j++)
  {
  num=str[j];
  str[j]=str[i-j-1+k];
  str[i-j-1+k]=num;
  }
  return str;
  }
2010-01-13 12:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-295588-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.124783 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved