首页 > 代码库 > itoa函数,sprintf函数

itoa函数,sprintf函数

itoa函数

itoa 为c语言的一个函数。itoa 函数是一个广泛应用的,从非标准扩展到标准的C语言。它不能被移植,因为它不是标准定义下的C语言,但是,编译器通常在一个不遵循程式标准的模式下允许其通过header ,因为它是一个从逻辑对应到标准库的函数。itoa 取整数输入值,并将其转换为相应进制数字的字符串。

用法:

itoa(i ,num ,10 );
i ---- 需要转换成字符串的数字
num ---- 转换后保存字符串的变量
10 ---- 转换数字的基数(即进制)。10就是说按10进制转换数字。还可以是2,8,16等等进制类型
返回值:指向num这个字符串的指针
itoa() 函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数(进制)。
度娘,传送门:https://baike.baidu.com/item/itoa%E5%87%BD%E6%95%B0/3260813?fr=aladdin
 
 
itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,要用sprintf。
标准库中有sprintf,功能比这个更强,用法跟printf类似:
char str[255];
sprintf(str, "%x", 100); //将100转为16进制表示的字符串。

sprintf函数

sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。

度娘,传送门:https://baike.baidu.com/item/sprintf/9703430?fr=aladdin

sprintf函数的格式:int sprintf( char *buffer, const char *format [, argument,...] );
前两个参数固定,可选参数任意。buffer是字符数组名;format是格式化字符串(像:"=%6.2f%#x%o",%与#合用时,自动在十六进制数前面加上0x)。

只要在printf中可以使用的格式化字符串,在sprintf都可以使用。其中的格式化字符串是此函数的精华。

具体的看人家的博客。。。

传送门1:http://blog.csdn.net/kevinhg/article/details/40409041

传送门2:http://blog.csdn.net/zenail501129/article/details/22991485

人家写的很具体,看人家的。

==  

 

 

 

itoa函数,sprintf函数