青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 505  文章 - 1034  trackbacks - 0
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456


子曾經(jīng)曰過:編程無他,唯手熟爾!

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊(cè)

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 918270
  • 排名 - 14

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

atoi使用時(shí)要注意了

這樣子寫有問題,可能導(dǎo)致down掉,因?yàn)閏h沒有結(jié)束符.但是我沒看出怎么當(dāng)?shù)?br>
2007-10-09  下面這個(gè)程序不會(huì)當(dāng),但是 number 的值可能不是預(yù)期的。

int _tmain(int argc, _TCHAR* argv[])
{
    
char ch[1= {0};
    ch[
0= '9';

    
int number = ::atoi(ch);

    std::cout 
<< number << std::endl;

    
return 0;
}

以下是atox.c的源碼:
/***
*atox.c - atoi and atol conversion
*
*       Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
*       Converts a character string into an int or long.
*
******************************************************************************
*/

#include 
<cruntime.h>
#include 
<stdlib.h>
#include 
<ctype.h>
#include 
<mtdll.h>
#include 
<tchar.h>
#ifdef _MBCS
#undef _MBCS
#endif  /* _MBCS */

#ifndef _UNICODE
#define _tchartodigit(c)    ((c) >= '0' && (c) <= '9' ? (c) - '0' : -1)
#else  /* _UNICODE */
int _wchartodigit(wchar_t);
#define _tchartodigit(c)    _wchartodigit((wchar_t)(c))
#endif  /* _UNICODE */

/***
*long atol(char *nptr) - Convert string to long
*
*Purpose:
*       Converts ASCII string pointed to by nptr to binary.
*       Overflow is not detected.
*
*Entry:
*       nptr = ptr to string to convert
*
*Exit:
*       return long int value of the string
*
*Exceptions:
*       None - overflow is not detected.
*
******************************************************************************
*/

long __cdecl _tstol(
        
const _TCHAR *nptr
        )
{
        
int c;              /* current char */
        
long total;         /* current total */
        
int sign;           /* if '-', then negative, otherwise positive */
#if defined (_MT) && !defined (_UNICODE)
        pthreadlocinfo ptloci 
= _getptd()->ptlocinfo;

        
if ( ptloci != __ptlocinfo )
            ptloci 
= __updatetlocinfo();

        
/* skip whitespace */
        
while ( __isspace_mt(ptloci, (int)(_TUCHAR)*nptr) )
#else  /* defined (_MT) && !defined (_UNICODE) */
        
while ( _istspace((int)(_TUCHAR)*nptr) )
#endif  /* defined (_MT) && !defined (_UNICODE) */
            
++nptr;

        c 
= (int)(_TUCHAR)*nptr++;
        sign 
= c;           /* save sign indication */
        
if (c == _T('-'|| c == _T('+'))
            c 
= (int)(_TUCHAR)*nptr++;    /* skip sign */

        total 
= 0;

        
while ( (c = _tchartodigit(c)) != -1 ) {
            total 
= 10 * total + c;     /* accumulate digit */
            c 
= (_TUCHAR)*nptr++;    /* get next char */
        }

        
if (sign == '-')
            
return -total;
        
else
            
return total;   /* return result, negated if necessary */
}


/***
*int atoi(char *nptr) - Convert string to long
*
*Purpose:
*       Converts ASCII string pointed to by nptr to binary.
*       Overflow is not detected.  Because of this, we can just use
*       atol().
*
*Entry:
*       nptr = ptr to string to convert
*
*Exit:
*       return int value of the string
*
*Exceptions:
*       None - overflow is not detected.
*
******************************************************************************
*/

int __cdecl _tstoi(
        
const _TCHAR *nptr
        )
{
        
return (int)_tstol(nptr);
}

#ifndef _NO_INT64

__int64 __cdecl _tstoi64(
        
const _TCHAR *nptr
        )
{
        
int c;              /* current char */
        __int64 total;      
/* current total */
        
int sign;           /* if '-', then negative, otherwise positive */
#if defined (_MT) && !defined (_UNICODE)
        pthreadlocinfo ptloci 
= _getptd()->ptlocinfo;

        
if ( ptloci != __ptlocinfo )
            ptloci 
= __updatetlocinfo();

        
/* skip whitespace */
        
while ( __isspace_mt(ptloci, (int)(_TUCHAR)*nptr) )
#else  /* defined (_MT) && !defined (_UNICODE) */
        
while ( _istspace((int)(_TUCHAR)*nptr) )
#endif  /* defined (_MT) && !defined (_UNICODE) */
            
++nptr;

        c 
= (int)(_TUCHAR)*nptr++;
        sign 
= c;           /* save sign indication */
        
if (c == _T('-'|| c == _T('+'))
            c 
= (int)(_TUCHAR)*nptr++;    /* skip sign */

        total 
= 0;

        
while ( (c = _tchartodigit(c)) != -1 ) {
            total 
= 10 * total + c;     /* accumulate digit */
            c 
= (_TUCHAR)*nptr++;    /* get next char */
        }

        
if (sign == _T('-'))
            
return -total;
        
else
            
return total;   /* return result, negated if necessary */
}

#endif  /* _NO_INT64 */
posted on 2007-09-28 09:19 七星重劍 閱讀(1697) 評(píng)論(1)  編輯 收藏 引用 所屬分類: PL--c/c++

FeedBack:
# re: atoi使用時(shí)要注意了 2007-10-09 10:07 rise
好像在vs2003可以通過。  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              99精品99久久久久久宅男| 欧美日韩一本到| 黄色在线一区| 久久久www| 久久成人精品电影| 亚洲国产你懂的| 最近看过的日韩成人| 免费看亚洲片| 在线亚洲欧美专区二区| 一区二区三区 在线观看视频| 欧美巨乳在线| 欧美在线free| 另类尿喷潮videofree| 99精品欧美一区二区蜜桃免费| 亚洲午夜激情网站| 激情综合视频| 99精品国产一区二区青青牛奶| 国产精品igao视频网网址不卡日韩| 性久久久久久久久久久久| 欧美一区二区在线免费观看| 影音欧美亚洲| 夜夜狂射影院欧美极品| 国产亚洲a∨片在线观看| 欧美激情麻豆| 国产麻豆精品在线观看| 欧美国产91| 国产美女诱惑一区二区| 亚洲大片在线观看| 国产精品视频午夜| 亚洲国产成人久久综合一区| 国产精品你懂的在线| 免费一级欧美片在线播放| 欧美性猛交xxxx乱大交退制版| 久色婷婷小香蕉久久| 国产精品theporn| 欧美国产日韩一区二区在线观看| 国产精品国产成人国产三级| 欧美成人一区二区三区片免费| 国产精品福利av| 亚洲国产欧美不卡在线观看| 国产人成一区二区三区影院| 亚洲美女中出| 亚洲免费高清视频| 久久久不卡网国产精品一区| 欧美资源在线观看| 欧美午夜a级限制福利片| 欧美成人综合一区| 国内精品久久久久久影视8| 中文欧美字幕免费| 一本色道久久综合精品竹菊| 久久午夜精品一区二区| 久久久久91| 国产欧美日本| 亚洲免费在线观看| 亚洲一区国产| 国产精品va| 一区二区三区四区五区视频| 99精品久久久| 欧美日韩国产黄| 日韩网站在线| 亚洲视频axxx| 欧美午夜在线一二页| 日韩午夜av在线| 亚洲图片欧洲图片日韩av| 欧美日韩国产综合久久| 亚洲另类在线视频| 一区二区高清视频在线观看| 欧美日韩国产成人在线91| 亚洲免费精彩视频| 亚洲一区影音先锋| 国产精品色在线| 欧美一级夜夜爽| 美玉足脚交一区二区三区图片| 悠悠资源网亚洲青| 欧美成人午夜激情视频| 亚洲精品国产精品国产自| 日韩视频永久免费观看| 欧美日韩在线直播| 亚洲一区精品视频| 久久久亚洲国产美女国产盗摄| 国内精品久久久久影院色| 免费日韩成人| 中日韩高清电影网| 欧美专区在线观看| 最新国产乱人伦偷精品免费网站| 欧美国产一区二区| 亚洲视频每日更新| 久久手机精品视频| 一区二区高清视频| 国内精品国产成人| 欧美精品在线免费| 午夜精品美女自拍福到在线| 久久精品电影| 亚洲精品中文字幕女同| 国产精品久久激情| 久久久噜噜噜久久狠狠50岁| 亚洲福利视频一区| 香蕉久久夜色精品国产使用方法| 狠狠色综合播放一区二区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美1区免费| 在线综合欧美| 狠狠色综合网站久久久久久久| 欧美韩国一区| 欧美一区二区三区视频| 亚洲国产精品va在线观看黑人| 亚洲免费在线视频| 亚洲人成久久| 国产视频综合在线| 欧美日韩xxxxx| 久久婷婷国产综合国色天香| 亚洲一级网站| 亚洲人成人77777线观看| 久久久99免费视频| 亚洲欧美国产77777| 亚洲国产精品综合| 国产日韩欧美精品一区| 欧美日韩国产bt| 免费观看国产成人| 久久国产精品久久久| 亚洲一区欧美激情| 亚洲精品久久7777| 欧美国产日韩精品| 久久久久国产一区二区三区| 先锋影音网一区二区| 99精品视频一区二区三区| 狠狠色丁香婷综合久久| 国产美女一区| 国产欧美日韩在线视频| 欧美丝袜一区二区| 欧美日韩1234| 欧美成人免费播放| 欧美成人高清| 欧美 亚欧 日韩视频在线| 久久久久久久久岛国免费| 香蕉成人久久| 欧美一区二区精品久久911| 亚洲一区二区三区精品动漫| 在线视频欧美日韩精品| 99国内精品久久| 一区二区精品国产| 中国成人亚色综合网站| 一区二区三区日韩欧美精品| 一本色道久久88综合日韩精品| 亚洲精品久久久久久一区二区| 你懂的视频欧美| 欧美福利一区| 最新成人av网站| 一区二区三区产品免费精品久久75| 亚洲精品中文字幕女同| 一区二区三区免费在线观看| 亚洲永久在线观看| 久久超碰97中文字幕| 久久人人爽国产| 欧美搞黄网站| 欧美亚男人的天堂| 国产日韩欧美综合精品| 国产在线拍偷自揄拍精品| 在线观看亚洲精品视频| 亚洲日产国产精品| 亚洲一区二区动漫| 久久国产主播| 亚洲国产精品高清久久久| 亚洲精品一区二区三区99| 亚洲手机在线| 久久久女女女女999久久| 欧美国产极速在线| 国产精品一区二区久久精品| 狠狠久久婷婷| 日韩一级大片| 久久国产成人| 亚洲国产高清在线观看视频| 亚洲私人影院| 久久这里只有| 国产精品毛片a∨一区二区三区|国| 国产午夜精品久久久久久免费视| 亚洲福利在线观看| 亚洲视频日本| 免费亚洲婷婷| 亚洲欧美国产日韩天堂区| 久久国产精品一区二区三区| 欧美精品一区二区三区很污很色的 | 亚洲激情第一区| 午夜精品久久久| 欧美大片va欧美在线播放| 亚洲视频在线播放| 免费成人黄色片| 国产乱码精品一区二区三区忘忧草| 亚洲高清视频在线| 欧美一级大片在线观看| 亚洲国产日韩一级| 欧美一区激情视频在线观看| 欧美日韩免费精品| 在线看视频不卡| 久久疯狂做爰流白浆xx| 亚洲精品国产日韩| 美女久久网站| 伊人久久综合97精品| 篠田优中文在线播放第一区| 最新日韩中文字幕|