欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ atoi()函數(shù)用法案例詳解

 更新時間:2021年09月09日 16:42:15   作者:棉猴  
這篇文章主要介紹了C++ atoi()函數(shù)用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

1 功能

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

2 格式

該函數(shù)的格式為

int atoi(const char* str)

其中,參數(shù)str是要轉(zhuǎn)換的字符串,返回值是轉(zhuǎn)換后的整數(shù)。

3 注意事項(xiàng)

3.1 關(guān)于參數(shù)的注意事項(xiàng)

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

[空格][符號][數(shù)字]

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

“ +123”

“ -456”

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

“123”

“-456”

3.2 關(guān)于返回值的注意事項(xiàng)

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

str1 = " 3336402735171707160320";

value1 = atoi(str1);

if (INT_MAX == value1)

{

printf("要轉(zhuǎn)換的值超出了int的上邊界。\n");

}

 

str2 = " -3336402735171707160320";

value2 = atoi(str2);

if (INT_MIN == value2)

{

printf("要轉(zhuǎn)換的值超出了int的下邊界。\n");

}

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

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

3.3 判斷轉(zhuǎn)換是否成功

雖然atoi()函數(shù)的參數(shù)和返回值中不包含轉(zhuǎn)換是否成功的標(biāo)志,但是可以通過系統(tǒng)變量errno的值來判斷轉(zhuǎn)換是否成功。

相關(guān)鏈接:

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

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

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

}

4 寬字符的轉(zhuǎn)換

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

int _wtoi(const wchar_t* str);

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

到此這篇關(guān)于C++ atoi()函數(shù)用法案例詳解的文章就介紹到這了,更多相關(guān)C++ atoi()函數(shù)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • C語言鍵盤控制走迷宮小游戲

    C語言鍵盤控制走迷宮小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言鍵盤控制走迷宮小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • C++之boost::array的用法

    C++之boost::array的用法

    這篇文章主要介紹了C++之boost::array的用法,以實(shí)例的形式簡單講述了靜態(tài)數(shù)組的容器boost::array的使用技巧,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • 讓應(yīng)用程序只運(yùn)行一個實(shí)例的實(shí)現(xiàn)方法

    讓應(yīng)用程序只運(yùn)行一個實(shí)例的實(shí)現(xiàn)方法

    我們在使用《360軟件管家》時發(fā)現(xiàn),在《360軟件管家》已經(jīng)運(yùn)行了的情況下,再次點(diǎn)擊《360軟件管家》的圖標(biāo),那么它不會再運(yùn)行另外一個《360軟件管家》,而是將已有的《360軟件管家》給激活,始終只能運(yùn)行一個《360軟件管家》的實(shí)例
    2013-05-05
  • exit和atexit的區(qū)別詳細(xì)解析

    exit和atexit的區(qū)別詳細(xì)解析

    以下是對exit與atexit的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • C++ 異常的詳細(xì)介紹

    C++ 異常的詳細(xì)介紹

    這篇文章主要介紹了C++ 異常的詳細(xì)介紹的相關(guān)資料,希望通過本文大家能夠掌握C++異常的使用方法,需要的朋友可以參考下
    2017-09-09
  • C語言數(shù)組實(shí)現(xiàn)公交車管理系統(tǒng)

    C語言數(shù)組實(shí)現(xiàn)公交車管理系統(tǒng)

    這篇文章主要介紹了C語言數(shù)組實(shí)現(xiàn)公交車管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C++ 二維數(shù)組傳參的四種方式

    C++ 二維數(shù)組傳參的四種方式

    C++的二維數(shù)組里面,通過用數(shù)組名傳參,傳過去后數(shù)組名會退化成一個一維數(shù)組指針,所以C++的函數(shù)參數(shù)不能像C語言一樣去寫,本文主要介紹了C++ 二維數(shù)組傳參的四種方式,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • C語言快速掌握位段使用

    C語言快速掌握位段使用

    位段位段的聲明和結(jié)構(gòu)是類似的,但是也會有所不同,此篇文章將帶你了解位段是什么已以及位段的使用和位段的特性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • C++ 實(shí)現(xiàn)L2-002 鏈表去重

    C++ 實(shí)現(xiàn)L2-002 鏈表去重

    這篇文章主要介紹了C++ 實(shí)現(xiàn)L2-002 鏈表去重,本文通過簡要的案例,解題思路講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 詳解C語言中scanf函數(shù)使用的一些注意點(diǎn)

    詳解C語言中scanf函數(shù)使用的一些注意點(diǎn)

    這篇文章主要介紹了C語言中scanf函數(shù)使用的一些注意點(diǎn),scanf函數(shù)的使用是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-04-04

最新評論