您好,登錄后才能下訂單哦!
這篇文章主要講解了“C++中atoi()函數的實例用法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++中atoi()函數的實例用法”吧!
1 功能
2 格式
3 注意事項
3.1 關于參數的注意事項
3.2 關于返回值的注意事項
3.3 判斷轉換是否成功
4 寬字符的轉換
atoi()函數將數字格式的字符串轉換為整數類型。例如,將字符串“12345”轉換成數字12345。
該函數的格式為
int atoi(const char* str)
其中,參數str是要轉換的字符串,返回值是轉換后的整數。
在“2 格式”中提到,atoi()函數的參數是要轉換的字符串。該字符串的格式為
[空格][符號][數字]
其中,空格可以是鍵盤中的空格字符或者是Tab字符;符號可以是表示正數的“+”,也可以是表示負數的“-”;數字即為數字字符串。所以,atoi()函數參數可以是
“ +123”
“ -456”
需要注意的是,空格和“+”可以省略。所以,atoi()函數參數還可以是
“123”
“-456”
如果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'字符時,停止讀取并返回。
雖然atoi()函數的參數和返回值中不包含轉換是否成功的標志,但是可以通過系統變量errno的值來判斷轉換是否成功。
相關鏈接:
系統變量errno:errno 是記錄系統的最后一次錯誤代碼。代碼是一個int型的值,在errno.h中定義。查看錯誤代碼errno是調試程序的一個重要方法。
在調用atoi()函數時,如果轉換成功,則errno的值是0;如果遇到“3.2 關于返回值的注意事項”中提到的超出范圍錯誤時,errno的值將會被設置為ERANGE。
if (errno == ERANGE) { printf("要轉換的數字超出int范圍.\n"); }
atoi()函數的寬字符串版本是_wtoi()函數。該函數的格式為
int _wtoi(const wchar_t* str);
其參數與返回值的含義與atoi()函數相似。
感謝各位的閱讀,以上就是“C++中atoi()函數的實例用法”的內容了,經過本文的學習后,相信大家對C++中atoi()函數的實例用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。