- 在线时间
- 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>! D! P5 Y* k( M+ Q K+ k
< >其中的int超出了取值范围的判断好像不太合理,请各位指教!</P>7 F# n& V& ?9 ~6 w0 d
< >int StringToInt(const char* szStr){
6 l$ _$ }* i8 G4 @ int nResult = 0;
0 P: p6 V. y1 ?7 K2 L //int nValue = 0; $ O- m& I, R3 V1 g9 U$ G
const char* szTmp = szStr;& n9 O6 Q2 t, w7 m
while (*szTmp){& H2 n a* {. [* \, V1 B! m
if(*szTmp >= 48 && *szTmp <= 57){
6 F2 u9 D1 A& @3 i: p nValue = *szTmp-48; 8 q5 q2 N* B# x, `. b3 a
nResult = nResult*10+nValue;8 H1 Y5 |: D, b6 e* _2 q T
}" _ T" O4 V9 f& R! b1 f# l5 D/ P
else {" M2 H* u3 c0 V. V
return -1;
, b9 [% `% w* r3 u }$ m0 o4 Q/ w1 P9 U* P& ]
if( nResult < 0 ) return -1;//out of range*****就是这里了!
/ Q, Y. [$ J, K- u szTmp++;
: ~. _2 \6 I/ B8 v( q8 X }3 p7 x) Q1 P) ]3 g' n% T) I
return nResult;6 \" W! L: L) Y2 E3 _: c
}+ _6 v- \7 c; h9 Z% T- P
</P> |
zan
|