C atoi 函式用法案例詳解

2022-09-24 13:12:12 字數 1290 閱讀 4332

目錄

atoi()函sfvneugz數將數字格式的字串轉換為整數型別。例如,將字串「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)

str2 = " -3336402735171707160320";

value2 = atoi(str2);

sfvneugzif (int_min == value2)

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

atoi()函式當讀取到引數中的'\0'字元時,停止讀取並返回。

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

相關鏈結:

系統變數errno:errno 是記錄系統的最後一次錯誤**。**是乙個int型的值,在errno.h中定義。檢視錯誤**errno是除錯程式的乙個重要方法。

在呼叫atoi()函式時,如果轉換成功,則errno的值是0;如果遇到「3.2 關於返回值的注意事項」中提到的超出範圍錯誤時,errno的值將會被設定為erange。

if (errno == erange)

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

isfvneugznt _wtoi(conwww.cppcns.comst wchar_t* stsfvneugzr);

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

C odr用法案例詳解

the main module.file odr test1.cpp include void module1 print declaration of an exeternal function inline int f1 class a const double c 4.2 constexpr ...

MFC LoadImage用法案例詳解

目錄 handle loadimage hinstance hinst,若引導程式外部資源傳null,否則一般傳afxgetinstancehandle lpctstr lpszname,名稱或全路徑 uint utype,型別 image bitmap或image icon或image curso...

C pictureBox用法案例詳解

picturebox 控制項可以顯示來自位圖 圖示或者元檔案,以及來自增強的元檔案 jpeg 或 gif 檔案的圖形。如果控制項不足以顯示整幅圖象,則裁剪圖象以適應控制項的大小。展示了控制項的sizemode四種格式 最好的應該是zoom,在不發生形變的條件下,對進行縮放。sizemode auto...