itoa()函数和sprintf()函数
2024-09-03 15:12:24
itoa()函数
itoa 为c语言的一个函数。itoa 函数是一个广泛应用的,从非标准扩展到标准的C语言。它不能被移植,因为它不是标准定义下的C语言,但是,编译器通常在一个不遵循程式标准的模式下允许其通过header ,因为它是一个从逻辑对应到标准库的函数。itoa 取整数输入值,并将其转换为相应进制数字的字符串。
用法:
itoa(i ,num ,10 );
i ---- 需要转换成字符串的数字
num ---- 转换后保存字符串的变量
10 ---- 转换数字的基数(即进制)。10就是说按10进制转换数字。还可以是2,8,16等等进制类型
返回值:指向num这个字符串的指针
itoa() 函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数(进制)。
itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,要用sprintf。
itoa函数使用有风险,经常会wa,少用吧。
标准库中有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
最新文章
- Oracle使用触发器和mysql中使用触发器的比较——学习笔记
- 关于java文件扩展名认识
- Ubuntu快速显示桌面的方法
- [转载] python+Eclipse+pydev环境搭建
- HDU 4932 贪心
- caffe源码阅读(1)-数据流Blob
- Python3.5创建虚拟环境
- 转换Json中的时间戳为标准时间格式
- 201521123112《Java程序设计》第1周学习总结
- 使用python爬取百度贴吧内的图片
- Android服务——Service
- Oracle :%TYPE 和 %ROWTYPE
- nodeJS接入微信公众平台开发
- 【竞价网站绝技】根据访客ip,页面显示访客所属城市的html代码(借用YY IP地址库)
- ADO.Net 数据库查询
- 【转】Itunes Connect新版本如何提交应用
- framework4.0 IIS7下urlrewriter设置问题
- 触摸UITextView找到该触摸点的文字
- Unity控件ScrollView使用问题记录
- mysql中enum类型
热门文章
- adb logcat 日志过滤
- GCD那些事儿
- 《Cracking the Coding Interview》——第16章:线程与锁——题目3
- USACO Section2.1 The Castle 解题报告
- loadrunner检查点设置失败,日志中SaveCount无法被正常统计出来
- python自动化运维篇
- LDA和PCA降维的原理和区别
- 史林枫:sqlserver数据库中数据日志的压缩及sqlserver占用内存管理设置
- urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed解决办法
- 201621123033 《Java程序设计》第3周学习总结