int strtoint1 (string &s) { string :: iterator iter = s.begin(); long long n = 0 ; if ( s.size() == 0 ) return 0 ; int flag = 1 ; if ( *iter == '+' || *iter == '-') { if(*iter == '-') flag = -1 ; ++iter ; } while(isdigit(*iter) ) { int c = *iter -'0' ; if ( flag > 0 && (n * 10 > MAX || (n * 10 == MAX ) ) ) { n = MAX ; break ; } else if ( flag < 0 && ( n * 10 > (unsigned)MIN || (n*10 ==(unsigned)MIN ))) { n = MIN ; break ; } n = 10 * n + c ; ++iter ; } return flag > 0 ? n : -n ; }
当 转出的 整型 要溢出 时候 需要处理,字符串 是空的时候 要处理 , 还要判断 正负 。 另外 如果 中间 有不是 整数的情况 怎么办。。 这个 没有处理