跳轉到內容

C 程式設計/stdlib.h/strtol

來自華夏公益教科書,開放的書籍,面向開放的世界

strtol 是 C 程式語言中的一個函式,用於將字串轉換為長整數。strtol 代表字串到長整數。它包含在 C 標準庫標頭檔案 stdlib.h 中。其原型如下所示

long strtol(const char *restrict str, char **restrict end, int base);

str 引數指向一個字串,由包含帶符號整數值的字元表示的字元陣列表示。該字串必須以空字元結尾。base 引數指定要使用的數字基數,從 2 到 36。如果數字基數大於 10,則使用字母字元 ('A''Z') 作為表示中的數字。轉換後,end 指向的值將設定為指向字串中最後一個有效數字字元後面的字元,並返回轉換後的整數值。如果字串不包含有效的數字序列,則返回零 (0) 並且全域性變數 errno 設定為 EINVAL

還存在這些函式的類似變體,名為 strtoulstrtollstrtoull,它們分別解析並返回型別為 unsigned longlong longunsigned long long 的整數。

標準一致性

[編輯 | 編輯原始碼]

strtol 函式是 ISO 標準 C 庫 (C89,1989) 的一部分,而 strtoll 函式是在 C99 庫 (1999) 中新增的。它作為現有 atoi 函式的更完善的替代品被新增到標準 C 庫中。

參考文獻

[編輯 | 編輯原始碼]
[編輯 | 編輯原始碼]
華夏公益教科書