strtol函式的說明 帶進製的字串轉換

2021-09-07 06:10:38 字數 696 閱讀 9464

strtol(將字串轉換成長整型數)

相關函式

atof,atoi,atol,strtod,strtoul

表頭檔案

#include

定義函式

long int strtol(const char *nptr,char **endptr,int base);

函式說明

strtol()會將引數nptr字串根據引數base來轉換成長整型數。引數base範圍從2至36,或0。

引數base代表採用的進製方式,如 base值為10則採用10進製,若base值為16則採用16進製制等。當base值為0時則是採用10進製做轉換,但遇到如'0x'前置字元則會使用 16進製做轉換。一開始strtol()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,再遇到非數字或字串結束時('')結束轉換,並將結果返回。若引數endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr返回。

返回值返回轉換後的長整型數,否則返回erange並將錯誤**存入errno中。

附加說明

erange指定的轉換字串超出合法範圍。

範例將字串a,b,c 分別採用10,2,16進製制轉換成數字

#include

main()

執行a=1000000000

b=512

c=65535

atoi stoi和strtol的使用

1 atoi 將string字串轉換為int型別,只能轉換為十進位制 atoi函式不會對string字串進行範圍檢查 2147483648,2147483647 超過這個界限,不會報錯,只會進行相應的轉換,遇到非法字元會停止,不會報錯 標頭檔案為cstdlib include include inc...

atoi stoi和strtol的使用

1 atoi 將string字串轉換為int型別,只能轉換為十進位制 atoi函式不會對string字串進行範圍檢查 2147483648,2147483647 超過這個界限,不會報錯,只會進行相應的轉換,遇到非法字元會停止,不會報錯 標頭檔案為cstdlib html view plain cop...

scanf 函式的說明

scanf的返回值由後面的引數決定,且返回值為int型 返回值表示成功讀入的資料的個數,如 scanf d d a,b 如果a和b都被成功讀入,那麼scanf的返回值就是2 如果只有a被成功讀入,返回值為1 如果a和b都未被成功讀入,返回值為0 如果遇到錯誤或遇到end of file,返回值為eo...