C请教个字符转换问题

[复制链接]
查看11 | 回复3 | 2007-10-15 19:38:33 | 显示全部楼层 |阅读模式
用atoi可以实现。如果想自己做的话,乘10+下位。int i;int a = 0;for(i=6;i=start;i--){ temp=(int)buf-48; ret=ret+temp*mul; mul=mul*10;}return ret;}//...//getInt(6,10,buf);
回复

使用道具 举报

千问 | 2007-10-15 19:38:33 | 显示全部楼层
如果要求你转6-10的,那么先把buf[11]的赋上字符'#'利用atoi(&buf[6])得到这个数,里面有字符的话,就不好办了然后,把buf[11]改为原来的字符解决!
回复

使用道具 举报

千问 | 2007-10-15 19:38:33 | 显示全部楼层
我来说几句吧:scenbuffalo 提到的变成'#',其实不是非要编程‘#’的,要明白atoi这个函数什么时候终止,当它遇到自己不认识的字符时就终止。另外,选择atoi是正确的方法。
回复

使用道具 举报

千问 | 2007-10-15 19:38:33 | 显示全部楼层
自己可以写个程序。但c中有个库函数atoi(const char*)就可以它包含在《stdlib。h》中且 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0‘)才结束转换,并将结果返回。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行