atoi ,itoa函数

来源:互联网 发布:战翼cg 知乎 编辑:程序博客网 时间:2024/05/19 03:23
 C语言库函数名: atoi
  功 能: 把字符串转换成整型数.
  名字来源:array to integer 的缩写.
  原型: int atoi(const char *nptr);
  函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
  头文件: #include <stdlib.h>
  程序例:
  1)
  #include <stdlib.h>
  #include <stdio.h>
  int main(void)
  {
  int n;
  char *str = "12345.67";
  n = atoi(str);
  printf("string = %s integer = %d\n", str, n);
  return 0;
  }
  执行结果
  string = 12345.67 integer = 12345
  2)
  #include <stdlib.h>
  #include <stdio.h>
  int main()
  {
  char a[] = "-100" ;
  char b[] = "123" ;
  int c ;
  c = atoi( a ) + atoi( b ) ;
  printf("c = %d\n", c) ;
  return 0;
  }
  执行结果

  c = 23



itoa:char *itoaint value, char *string,int radix);

itoa(i,num,10);

  i ----需要转换成字符串的数字
  num---- 转换后保存字符串的变量
  10---- 转换数字的基数(即进制)。10就是说按10进制转换数字。还可以是2,8,16等等你喜欢的进制类型

  返回值:指向num这个字符串的指针。


实现代码:

do

{
   str[i++]=index[unum%(unsigned)radix];
  unum/=radix;//radix表示进制
  }while(unum);
  str[i]='\0';

注意事项:

  itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数(进制)。在上例中,转换基数为10,就意味着以10为转换进制。10:十进制;2:二进制...
  itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。
  是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:
  char str[255];
  sprintf(str, "%x", 100); //将100转为16进制表示的字符串。


itoa() 将整型值转换为字符串

litoa() 将长整型值转换为字符串
ultoa() 将无符号长整型值转换为字符串

原创粉丝点击