字符串转为数字

这里只说思想:
以"345"作为例子。当我们扫描到字符串的第一个字符'3'时,我们不知道后面还有多少位,仅仅知道这是第一位,因此此时得到的数字是3。当扫描到第二个数字'4'时,此时我们已经知道前面已经一个3了,再在后面加上一个数字4,那前面的3相当于30,因此得到的数字是3*10+4=34。接着我们又扫描到字符'5',我们已经知道了'5'的前面已经有了34,由于后面要加上一个5,前面的34就相当于340了,因此得到的数字就是34*10+5=345。

代码实现(没有错误检查):


while (*cp >= '0' && *cp <= '9')
i = i * 10 + *cp++ - '0';//最后得到的i就是相应的数字(非ascii码的应该会出错)

原文地址:https://www.cnblogs.com/pasion-forever/p/4139002.html