这种基础的小问题,总是在面试的时候,或者不起眼的地方出现,虽是基础,还是会碰壁,注意以下几点:
1、string传入的时候是const的不可以改变
2、一定要判断传入的string是否是有效的
3、判断string是否是结尾的条件是'\0',字符串末尾都是有这个,注意是反斜杠
4、string里面的单值取出的时候是ASCII的,要减去48,也就是‘0’
int constToInt(const char* cstr){
if (cstr == NULL){
assert(cstr);//断言
}
int iSum = 0;
while (*cstr != '\0'){
iSum *= 10;//向前移动位数
iSum = iSum + (*cstr - '0');
++cstr;//指针移动
}
return iSum ;
}