C 语言标准库函数 - strtol()
C 语言标准库 <stdlib.h> 函数 long int strtol(const char *str, char endptr, int base) 把参数 str 所指向的字符串根据给定的 base** 转换为一个长整数(类型为 long int 型),base 必须介于 2 和 36(包含)之间,或者是特殊值 0
头文件
#include <stdlib.h>
函数原型
下面是 strtol() 函数的原型
long int strtol(const char *str, char **endptr, int base)
参数
- str : 要转换为长整数的字符串
- endptr : 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符
- base : 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0
返回值
该函数返回转换后的长整数,如果没有执行有效的转换,则返回 0
范例
下面的范例演示了 strtol() 函数的用法
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <stdio.h> #include <stdlib.h> int main() { char str[30] = "314.15926 This is test"; char *ptr; long ret; ret = strtol(str, &ptr, 10); printf("数字(无符号长整数)是 %ld\n", ret); printf("字符串部分是 |%s|\n", ptr); return(0); }
编译运行范例,输出结果如下
$ gcc main.c && ./a.out 数字(无符号长整数)是 314 字符串部分是 |.15926 This is test|