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...