亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中atoi()函數的實例用法

發布時間:2021-09-09 17:49:31 來源:億速云 閱讀:199 作者:chen 欄目:開發技術

這篇文章主要講解了“C++中atoi()函數的實例用法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++中atoi()函數的實例用法”吧!

目錄
  • 1 功能

  • 2 格式

  • 3 注意事項

    • 3.1 關于參數的注意事項

    • 3.2 關于返回值的注意事項

    • 3.3 判斷轉換是否成功

  • 4 寬字符的轉換

    1 功能

    atoi()函數將數字格式的字符串轉換為整數類型。例如,將字符串“12345”轉換成數字12345。

    2 格式

    該函數的格式為

    int atoi(const char* str)

    其中,參數str是要轉換的字符串,返回值是轉換后的整數。

    3 注意事項

    3.1 關于參數的注意事項

    在“2 格式”中提到,atoi()函數的參數是要轉換的字符串。該字符串的格式為

    [空格][符號][數字]

    其中,空格可以是鍵盤中的空格字符或者是Tab字符;符號可以是表示正數的“+”,也可以是表示負數的“-”;數字即為數字字符串。所以,atoi()函數參數可以是

    “ +123”

    “ -456”

    需要注意的是,空格和“+”可以省略。所以,atoi()函數參數還可以是

    “123”

    “-456”

    3.2 關于返回值的注意事項

    如果atoi()函數轉換成功,則該函數的返回值是轉換后的整型。如果atoi()函數轉換失敗,例如要轉換的類型超過了int表示的范圍,如果要轉換的是正數,則返回INT_MAX(2147483647),如果要轉換的是負數,則返回INT_MIN(-2147483648)。代碼如下所示

    str1 = " 3336402735171707160320";
    
    value1 = atoi(str1);
    
    if (INT_MAX == value1)
    
    {
    
    printf("要轉換的值超出了int的上邊界。\n");
    
    }
    
     
    
    str2 = " -3336402735171707160320";
    
    value2 = atoi(str2);
    
    if (INT_MIN == value2)
    
    {
    
    printf("要轉換的值超出了int的下邊界。\n");
    
    }

    需要注意的是,atoi()函數在stdlib.h中定義,所以在使用atoi()函數時,需要包含該頭文件。

    atoi()函數當讀取到參數中的'\0'字符時,停止讀取并返回。

    3.3 判斷轉換是否成功

    雖然atoi()函數的參數和返回值中不包含轉換是否成功的標志,但是可以通過系統變量errno的值來判斷轉換是否成功。

    相關鏈接:

    系統變量errno:errno 是記錄系統的最后一次錯誤代碼。代碼是一個int型的值,在errno.h中定義。查看錯誤代碼errno是調試程序的一個重要方法。

    在調用atoi()函數時,如果轉換成功,則errno的值是0;如果遇到“3.2 關于返回值的注意事項”中提到的超出范圍錯誤時,errno的值將會被設置為ERANGE。

    if (errno == ERANGE)
    {
    printf("要轉換的數字超出int范圍.\n");
    
    }

    4 寬字符的轉換

    atoi()函數的寬字符串版本是_wtoi()函數。該函數的格式為

    int _wtoi(const wchar_t* str);

    其參數與返回值的含義與atoi()函數相似。

    感謝各位的閱讀,以上就是“C++中atoi()函數的實例用法”的內容了,經過本文的學習后,相信大家對C++中atoi()函數的實例用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    c++
    AI

    栾川县| 冕宁县| 盐亭县| 邵阳县| 邢台市| 邵阳市| 赞皇县| 陆丰市| 晋城| 松原市| 庆元县| 东兰县| 广宁县| 南部县| 湘潭县| 北票市| 石景山区| 乌鲁木齐市| 油尖旺区| 灵川县| 商都县| 沙湾县| 苍梧县| 秀山| 景德镇市| 元朗区| 团风县| 靖远县| 深圳市| 彭州市| 酉阳| 克山县| 昌乐县| 宿迁市| 大邑县| 平泉县| 遂川县| 连平县| 汝南县| 双桥区| 青州市|