- 在线时间
- 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>
. G) v3 v0 ~7 W: o; ~< >其中的int超出了取值范围的判断好像不太合理,请各位指教!</P>
2 J1 V' ?0 C) |( X/ ^% d! P/ }- n< >int StringToInt(const char* szStr){& t* Y$ r, O5 Q1 E$ u6 }9 s
int nResult = 0;, ~2 o3 L: a7 ~- o" n, M
//int nValue = 0;
) Q+ k' X% B2 {/ m6 V! j0 _) i const char* szTmp = szStr;' b, k/ ~2 |; ?, a; @7 ~
while (*szTmp){
5 C8 _ _0 E$ x: J if(*szTmp >= 48 && *szTmp <= 57){ $ s4 l3 z/ m( J
nValue = *szTmp-48; 2 Y7 i7 l: S h+ `
nResult = nResult*10+nValue;
" g2 o5 O) l* Q5 Q1 ^( B/ ? P }7 f, r6 N( k! z
else {5 I: f: l# [: n* T# |& y
return -1;
! m7 V! S( q3 {/ G' t }+ Y4 f& B/ x# L2 X# C8 j' h
if( nResult < 0 ) return -1;//out of range*****就是这里了!
/ L! T5 F% D; P0 G# H$ W szTmp++;# I1 K3 B% h+ r) r2 O, X# C& V$ e
}# f T+ \; n) d. O. p
return nResult;
+ X% U8 |" b& [% C' n5 W}) G' I/ i7 D( x$ c t
</P> |
zan
|