- 在线时间
- 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>) S3 p7 v1 `0 o& o+ l
< >其中的int超出了取值范围的判断好像不太合理,请各位指教!</P>/ X% E6 I+ c& O! | [. Z, W! q
< >int StringToInt(const char* szStr){
( \; P* \7 Z+ ? int nResult = 0;, ]9 `* w n' C2 V# v$ L
//int nValue = 0; # w; i) O' V0 x0 t" O+ w
const char* szTmp = szStr;% ?- F- l$ i7 r- j
while (*szTmp){# @5 L+ r, C- h7 h
if(*szTmp >= 48 && *szTmp <= 57){
: W$ _1 p6 _& c/ N. S2 x nValue = *szTmp-48;
, f+ v+ J7 G6 s nResult = nResult*10+nValue;
. f" h0 ^' ~) z4 q& U }
+ d! C( @: |. q4 I: l" X else {! M* m" X1 Q/ s5 R
return -1;
% I( n: J' P0 E* `: } k ^ }
4 n; B/ M5 K' K# T' \- c) T& ]# N if( nResult < 0 ) return -1;//out of range*****就是这里了!
+ g) v3 a$ q0 O szTmp++;- h- b5 J( U1 k Q4 h
}
2 r" H. _$ i: M1 B4 g return nResult;2 N6 P# ]5 G4 E% G" G6 e; u. e$ W& p
}
2 F/ X8 R, N' c</P> |
zan
|