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。
還存在這些函式的類似變體,名為 strtoul、strtoll 和 strtoull,它們分別解析並返回型別為 unsigned long、long long 和 unsigned long long 的整數。
strtol 函式是 ISO 標準 C 庫 (C89,1989) 的一部分,而 strtoll 函式是在 C99 庫 (1999) 中新增的。它作為現有 atoi 函式的更完善的替代品被新增到標準 C 庫中。
- strtol 在 OpenGroup.org 上
- 正確且可移植地使用 strtol