数字和字符串的互相转化

大佬们发的技术博客让我受益匪浅,而作为小白的我,自知水平有限,所以在这我就分享下这个星期因为程设作业遇到问题而去找到的一些基本知识吧。
想必大家在求一个数的反转数时曾想过如何将数字隔离倒置再一起输出吧,当时我想了2个办法,办法A就是通过将原本的数字的每位数提取传值到一个新的变量上,并在每次传值时让这个新的变量*10,这就可以简单的获得一个反转数,但我觉得方法B可行,可是碍于技术上的问题找不到解决方案,所以特意上CSDN博客专门搜索此类信息,也就是今天我要讲的内容:
首先,先提出几个在stdlib.h内的函数: itoa():将整型值转换为字符串。 ltoa():将长整型值转换为字符串。 ultoa():将无符号长整型值转换为字符串。 gcvt():将浮点型数转换为字符串,取四舍五入;atof():将字符串转换为双精度浮点型值。atoi():将字符串转换为整型值。atol():将字符串转换为长整型值。
itoa和toa ultoa格式相同 (整数型变量名,char型数组名,转化的进制)如(a,b,2) 用char数组b以2进制形式包括a
上述函数是基本的实现方法,但上述函数并不是标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。
printf()和sprintf()都使用格式化字符串来指定串的格式——字符串的输出是智能的
sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。
sprintf的格式为sprintf(字符串数组名,“字符串s(可含有%)”,当中间有%时输入变量或者表达式) 如(a,”%d”,s)把字符串”s”录入字符串a中(后两个相当于一个printf 负责得到内容 然后再录入a中 所以可能时(a,”%d%d”,b1,b2)
当s的长度大于a允许的长度时 造成缓冲区溢出 程序会故障停止
snprintf每个版本使用的方法不同 比sprintf多一个可以控制录入字符串的长度的参数
snprintf(a,3,”%s”,b)表示将b字符串录入3个(有些包括/0)字符到a里
注意:C语言对数组进行操作时并不检测数组的长度,如果str的长度不够,sprintf()很容易造成缓冲区
溢出
好了 我本周查的有关字符串和数字间的转化的知识就这么多了。很简陋,但是希望有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值