现在的位置: 首页 > 综合 > 正文

字符串 转整数

2018年02月20日 ⁄ 综合 ⁄ 共 411字 ⁄ 字号 评论关闭
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 ;
}

当 转出的 整型 要溢出 时候 需要处理,字符串 是空的时候 要处理 , 还要判断 正负 。 另外 如果 中间 有不是 整数的情况 怎么办。。 这个 没有处理

【上篇】
【下篇】

抱歉!评论已关闭.