是一个用于将字符串转换为长整型数值的函数。它的原型如下:
long strtol(const char *str, char **endptr, int base);
str
:要转换的字符串。endptr
:指向一个指针,用于存储转换后剩余的字符串部分的地址。如果该参数为NULL,则不存储剩余部分。base
:表示字符串中数值的进制,可以是2~36之间的任意值。如果为0,则根据字符串的前缀来判断进制(0x表示16进制,0表示8进制,其它为10进制)。strtol
函数会将字符串中的数值部分转换为长整型数值,并返回结果。同时,它会将转换后剩余的字符串部分的地址存储到endptr
指向的变量中。LONG_MAX
或LONG_MIN
。int main() {
char str[] = "12345abc";
char *endptr;
long num = strtol(str, &endptr, 10);
if (*endptr != '\0') {
printf("转换失败\n");
} else {
printf("转换成功,数值为:%ld\n", num);
}
return 0;
}
输出结果:
转换成功,数值为:12345
strtol
是C语言标准库中的一个函数,用于将字符串转换为长整型数值。strtol
函数属于C语言标准库中的字符串处理函数。strtol
函数能够方便地将字符串中的数值部分转换为长整型数值,具有简单、高效的特点。strtol
函数常用于需要将字符串转换为长整型数值的场景,例如解析命令行参数、读取配置文件等。领取专属 10元无门槛券
手把手带您无忧上云