- 在线时间
- 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>
$ I" R8 O0 R7 `* v* R/ \, G5 W' i< >其中的int超出了取值范围的判断好像不太合理,请各位指教!</P>
* f' k' D; e% }, _) }< >int StringToInt(const char* szStr){ v8 A; ?/ g! H k K1 G/ y
int nResult = 0;
. H& J0 c( [0 E8 n& _ //int nValue = 0;
' Y& n8 [- a8 r const char* szTmp = szStr;+ |! B" s& ]. h: U, d4 }
while (*szTmp){+ m1 i' B9 f& k
if(*szTmp >= 48 && *szTmp <= 57){ 6 K$ d2 W; |3 C
nValue = *szTmp-48;
7 Z# R# H" @5 d/ ^% g; ` nResult = nResult*10+nValue;
( s9 c6 A/ M4 E( c. ~5 J2 m }6 n) `- v% U6 O0 r! o* x$ P }) e/ }
else { d7 K& W' W; T
return -1;: Y q: o8 v) Z. O- a/ \4 U- W
}1 q& W0 ^, M) W- f" H
if( nResult < 0 ) return -1;//out of range*****就是这里了!, R9 [2 y& r7 m$ U( T5 Y
szTmp++;* n. t: z+ J6 `8 B0 _' P7 c0 O
}
8 L8 A# j" A. y return nResult;
3 E) H! R5 u; e: i" c}5 t% r: d' B8 X `5 }; ?8 M% M
</P> |
zan
|