atol函数
概要:
#include <stdlib.h> long int atol(const char *nptr);
描述:
该函数将参数nptr指向字符串的初始部分转换为long int类型的十进制整数。
该函数等价于:
strtol(nptr, (char **)NULL, 10)
区别在于发生错误时,atol函数不影响errno值。
该函数首先将字符串分成三个部分:
1、一个初始的、可能为空的空格字符(可以使用isspace函数检查。)序列;
2、一个类似十进制整数的主题序列;
3、由一个或者多个未识别字符组成的最终字符串(final string),包括字符串末尾的终止空字符;
然后尝试将主题序列转换为整数,并返回结果。
主题序列的预期形式是ISO/IEC 9899:2018标准第6.4.4.1 Integer constants节中描述的十进制整数常量的形式;主题序列前可能存在+号或者-号,但主题序列不包括整数后缀。
主题序列从第一个非空格字符开始,包含符合上述形式的尽可能多字符的最长初始子序列。如果字符串为空,或者如果字符串完全由空格字符组成,或者如果第一个非空格字符不是符号,也不是允许的字母或者数字,主题序列将不包含任何字符。
如果主题序列具有预期形式,从第一个数字开始的字符序列将根据ISO/IEC 9899:2018标准第6.4.4.1 Integer constants节的规则解释为十进制整数常量。
如果主题序列以-号开头,转换得到的值会被取反。
非“C”语言环境中,还可以接受特定语言环境的主题序列。
如果主题序列为空或者不符合预期形式,将不进行任何转换。
参数:
const char *nptr
指向被转换的字符串的指针。
返回值:
如果发生转换,函数返回转换后的值;如果没有发生转换,函数返回0。
范例:
|
|
输出:
number = 2017
相关内容:
strtol | 将字符串转换为long int类型整数的函数。 |
atoi | 将字符串转换为int类型十进制整数的函数。 |
atoll | 将字符串转换为long long int类型十进制整数的函数。 |