- 在线时间
- 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>" l+ y2 j6 }4 x; T
< >其中的int超出了取值范围的判断好像不太合理,请各位指教!</P>
4 ]$ L/ G5 h3 O: r; e* ~5 D9 r< >int StringToInt(const char* szStr){2 b) C5 A& E# L
int nResult = 0;
- I* U* ^! L5 v. k //int nValue = 0;
9 _+ N% H% T" F1 i7 P4 Q1 S const char* szTmp = szStr;
$ `: [- M n3 ?4 S/ ?& m: K while (*szTmp){
6 R& g9 b1 |6 S1 P. V7 v4 f$ u if(*szTmp >= 48 && *szTmp <= 57){ - {+ Z3 ^3 q! o( ^- G4 s2 R# H: Z
nValue = *szTmp-48; : a* I+ p b$ F# U
nResult = nResult*10+nValue;
* K n3 D, Z/ t5 H. H }
, i! h8 t' W0 j% b else {
! ~# I5 I, x1 W" v6 G return -1;
' D! t2 s7 x: \8 v# V+ y }
3 `; T( D/ U5 o3 C. W if( nResult < 0 ) return -1;//out of range*****就是这里了!* ]+ C8 Y6 O/ l3 u m. G: c
szTmp++;8 b6 @! `2 u& t. [7 O( G2 |
}
8 x, f" {) K; z+ I, i; z( A return nResult;
3 R$ \) c; ^* K/ r}9 ^8 H& Z/ x4 t) R# [
</P> |
zan
|