- 在线时间
- 0 小时
- 最后登录
- 2005-5-5
- 注册时间
- 2005-5-5
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 55 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 17
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   12.63% 该用户从未签到
 |
< >我写了一个这样的函数,想把字符串转化为int型的,代码如下,</P>( ]( Y. `: j( S% P: J/ J0 c
< >其中的int超出了取值范围的判断好像不太合理,请各位指教!</P>) A6 G- `3 J1 H* a, S* n& A5 [
< >int StringToInt(const char* szStr){% {! x) A) ~$ B4 X ?: }
int nResult = 0;6 m4 v l! {9 \2 \8 h, }
//int nValue = 0;
1 [! \" O8 u7 u) f( o$ c2 @ const char* szTmp = szStr;0 u3 O1 F! _$ T2 }4 }
while (*szTmp){
+ L H0 }8 y7 K8 F! x6 d: A3 m if(*szTmp >= 48 && *szTmp <= 57){
" h& k6 K3 v9 n nValue = *szTmp-48;
" c- p) V# Y; P" Z nResult = nResult*10+nValue;
/ r8 O) |6 s+ E8 K* Y% h B' i$ X8 u }
+ i" G' k7 {; U; C2 I else {$ E% |" A) L0 U, A! X( X
return -1;6 h+ ?8 O- k1 w0 C
}; q- p8 F, g3 O& n# ?/ j) U) W
if( nResult < 0 ) return -1;//out of range*****就是这里了!" F" K+ ~* ^0 q7 j, O9 K; }
szTmp++;! Z3 e: k; \/ E1 U* b
}
, M+ K U4 }3 y2 f return nResult;
! t* P4 d# m v- a}( u1 M& a# }& N7 ?$ f h0 L- V) o
</P> |
zan
|