C語言中 char 字串轉換成數字
前言
今天來簡單介紹一下要如何在C語言中把 char 字串轉換成數字
方法
- 使用內建函數atoi
- 自己寫
內建函數的用法可以去cpprefrence查到,所以這邊就不解說了 只有講自己寫的做法
原理
如果要在一個數字的尾端加上一位數,該如何操作? 有一種方法:先把原數字 * 10,然後再把那一位數加上去 所以就可以有下面這種code
int translate ( char *c, int len ){
int i, res = 0;
for ( i = 0 ; i < len ; i++ ){
res *= 10;
res += ( c[i] - '0' );
}
return res;
}
然後解說一下code中第五行 char之間的相減就是ASCii code的值的差 所以可以用這種方法把原本的數字還原出來