当前位置:  编程技术>c/c++/嵌入式

深入理解atoi()与itoa()函数的用法

    来源: 互联网  发布时间:2014-10-15

    本文导语:  itoa()函数的原型为: char *itoa( int value, char *string,int radix);itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转换数字时所用的基数。在例中,转换基数为10。10:十进...

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

#include "stdio.h"
#include "stdlib.h"
int main(void)
{
 int num = 10;
 char str[100];
 itoa(num, str, 8);      //将整数10转换为八进制保存在str字符数组中
 printf("%sn", str);
 system("pause");
 return 0;
}

下面是一个十进制转二进制的方法:
代码如下:

#include "stdio.h"
#include "stdlib.h"
int main(void)
{
 int num = 15;
 char str[100];
 int n = atoi(itoa(num, str, 2));   //先把num转换为二进制的字符串,再把该字符串转换为整数
 printf("%dn",n);
 system("pause");
 return 0;
}

itoa()函数的扩展:
代码如下:

char *_itoa( int value, char *string, int radix );
char *_i64toa( __int64 value, char *string, int radix );
char * _ui64toa( unsigned _int64 value, char *string, int radix );
wchar_t * _itow( int value, wchar_t *string, int radix );
wchar_t * _i64tow( __int64 value, wchar_t *string, int radix );
wchar_t * _ui64tow( unsigned __int64 value, wchar_t *string, int radix );

程序代码如下:
代码如下:

#include "stdio.h"
#include "stdlib.h"
int main(void)
{
 char buffer[20];
 int i = 3445;
 long l = -344115L;
 unsigned long ul = 1234567890UL;
 _itoa( i, buffer, 10 );
 printf( "String of integer %d (radix 10): %sn", i, buffer );
 _itoa( i, buffer, 16 );
 printf( "String of integer %d (radix 16): 0x%sn", i, buffer );
 _itoa( i, buffer, 2 );
 printf( "String of integer %d (radix 2): %sn", i, buffer );
 _ltoa( l, buffer, 16 );
 printf( "String of long int %ld (radix 16): 0x%sn", l,buffer );
 _ultoa( ul, buffer, 16 );
 printf( "String of unsigned long %lu (radix 16): 0x%sn", ul,buffer );
 system("pause");
 return 0;
}


    
 
 

您可能感兴趣的文章:

  • mysql中limit的用法深入分析
  • 深入理解结构体中占位符的用法
  • PHP中redis的用法深入解析
  • C++ using namespace std 用法深入解析
  • C++ Vector用法深入剖析
  • 深入C++ string.find()函数的用法总结
  • 深入多线程之:双向信号与竞赛的用法分析
  • 深入SQL Cursor基本用法的详细介绍
  • 深入理解双指针的两种用法
  • 深入探讨:oracle中row_number() over()分析函数用法
  • 深入DropDownList用法的一些学习总结分析
  • jQuery中.live()方法的用法深入解析
  • pthread_cond_wait() 用法深入分析
  • 深入理解C++中public、protected及private用法
  • 深入C++ typedef的用法总结(必看)
  • 深入mysql YEAR() MONTH() DAYOFMONTH()日期函数的详解
  • 内联函数inline与宏定义深入解析
  • 虚函数与纯虚函数(C++与Java虚函数的区别)的深入分析
  • SQL SERVER函数之深入表值函数的处理分析
  • 深入探讨:main函数执行完毕后,是否可能会再执行一段代码?
  • 深入解析函数指针与返回函数的指针
  • 基于memset()函数的深入理解
  • C语言typedef与复杂函数声明问题的深入解析
  • 深入VC回调函数的使用详解
  • strcat函数与strncat函数的深入分析
  • 深入Main函数中的参数argc,argv的使用详解
  • 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
  • 深入解析C++中的构造函数和析构函数
  • MySQL中group_concat函数深入理解
  • 基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
  • C++函数参数取默认值的深入详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 深入理解linux内核
  • mysql中limit的用法深入分析 iis7站长之家
  • 深入理解PHP内核 TIPI
  • 100分求:哪儿有《深入理解linux内核》可供下哉!
  • 哪儿有下载《深入理解Linux内核》这本书?(中文)
  • 有人读完《深入理解linux内核》吗?
  • 求一起看《深入理解linux内核》
  • 深入理解Java对象实例生成的例子
  • 深入理解计算机系统一书的一个问题
  • java父类和子类初始化顺序的深入理解
  • 深入Ref,Out的理解及其使用
  • 深入理解Oracle数据库的启动和关闭
  • 《现代操作系统》和《深入理解计算机系统》
  • CS:APP深入理解计算机系统练习题-【ELF文件的符号表相关】
  • 求支持,深入理解LINUX内核
  • 深入理解Activity之间的数据传递
  • 深入理解linux内核第三版中文版 不够可以再加分
  • C# 多态性的深入理解
  • 基于Java Tomcat和激活MyEclips的深入理解
  • Android开发之文件操作模式深入理解
  • Docker支持更深入的容器日志分析
  • 关于《深入浅出MFC》
  • Linux有没有什么好的高级的书,我要深入,
  • [100分]有没有关于binutils的深入的资料?或者深入底层的资料?
  • 想深入学习Java应该学习哪些东西
  • 哪位有《JSP深入编程》电子版?
  • 想要深入学习LINUX该学什么?
  • 如何深入Linux的内核学习?
  • U-BOOT得掌握到什么程序,用不用深入去学
  • 想深入了解操作系统该怎么做
  • 前一阵子学习了shell脚本,如果想深入点了解linux可以看什么书呢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3