看板Programming
标 题Re: 问一个c语言的技巧
发信站SayYA 资讯站 (Fri Jan 2 14:42:30 2009)
转信站ptt!news.ntu!mars.scc.ntnu!ctu-peer!news.nctu!News.Math.NCTU!SayYa
※ 引述《[email protected] (孤星)》之铭言:
> 想请问一下..
> c语言中有一个函数atoi是把字串转为整数..
> 这个我知道..
> 但是我常常会需要把字串中的某一些转为整数..
> 那这个函数就不能使用了..
> 所以我只能利用读出这个字串阵列的某一个整数字元後再将他-'0'..
> 使用这种方式来将它变成整数..
> 请问是有还有更好的方法..
> 因为如果要算出一长串算术时..程式会变得很亢长..
> 尤其在我字元阵列名称设得比较常时..
> 如果自己另外设一个函数来转换..
> 以复杂度来说..又会变得比较划不来..
天下没有白吃的午餐,转换也就是这样啊,所以还是自己写个函数处理一下
需求即可。
> 所以我想请问..
> c语言是否有设其他的函数或者用其他方法来将字元阵列中某一个字元转成整数的好方法..
> 谢谢..
字元就用你说的方式即可,- '0' 的结果就是。
若是字串另外可用 sscanf 来处理也可以。
int num;
char buf[]="1234";
sscanf(buf,"%d",&num);
printf("%d\n",num);
不过你是说一般大数运算吗?其实底层许多实做计算处理本来就需要花费不少
功夫写作这类程式码了 :) Java 就因为这样提供 Bignum 提供解决该需求。
--
如果真的爱一个作业系统 怎能不害怕不再能使用它 而我们必须接受现实
於是长大了 寂寞就是没有了机会再用它 比没有电脑还要寂寞
而那些点亮我们生命的作业系统 就彷佛电影中发生在暹逻的爱情故事
即使短暂使用也会刻骨铭心
To all the Linux that bring us to kernel.
--
※ Origin: SayYA 资讯站 <bbs.sayya.org>
◆ From: kendlee.sayya.org