- 在线时间
- 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># K# V# ^/ [5 c- L3 ?
< >其中的int超出了取值范围的判断好像不太合理,请各位指教!</P>% n- `" U/ g8 x+ u8 V; P6 A
< >int StringToInt(const char* szStr){
" ~9 A* X" W( z! C int nResult = 0;
/ ?* y3 K# k5 m3 } //int nValue = 0; / U! U6 v0 ^9 {1 _( G' d
const char* szTmp = szStr;
( a, ~0 k& [$ C) x+ b while (*szTmp){
% S3 r" T, H# b! k if(*szTmp >= 48 && *szTmp <= 57){
& V4 K8 u/ ^3 W nValue = *szTmp-48;
' i! n5 f! }, `1 G. G# ?9 h nResult = nResult*10+nValue;
: H. T6 @2 ~8 d: D3 K }% E1 R. O% i3 k( o( M. {: v
else {
. Z `! Q# ? k' ?" ]1 G2 y. | return -1;
+ N2 o$ @# T( T$ N. C }9 @& ]! z% E5 `& P0 p; P' [
if( nResult < 0 ) return -1;//out of range*****就是这里了!
5 |) U1 `& O2 x& r& A szTmp++;
8 N, a4 t- d+ ^- w4 p/ g- ^. p }
' R; J+ O0 j, f. O9 V0 c/ Q return nResult;- [, X* b1 Z6 z1 c1 z
}
$ O0 `. ~" ~) k/ e1 F, n</P> |
zan
|