跳转到内容

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 库中。

参考文献

[编辑 | 编辑源代码]
[编辑 | 编辑源代码]
华夏公益教科书