在 C 语言 中我们要将一个 字符串 转成 长整型 ,我们可以使用 strtol 函数。strtol 函数把参数所指向的字符串根据给定的基数转换为一个长整数(类型为 long int 型)。
long int strtol(const char *str, char **endptr, int base);
参数 | 描述 |
---|---|
str | 要转换为长整数的字符串。 |
endptr | 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符。 |
base | 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0。 |
该函数返回转换后的长整数,如果没有执行有效的转换,则返回一个零值。
base 必须介于 2 和 36(包含)之间,或者是特殊值 0。
使用 strtol 函数,需要引入 stdlib.h 头文件。
使用 strtol() 函数,实现将字符串转长整型
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str[] = "12345.6789";
long ret;
ret = strtol(str, NULL, 10);
printf("Num Ret = %ld\n", ret);
return 0;
}
程序运行后,控制台输出如下:
我们首先定义了一个 字符数组 str,里面存放的浮点数,接着,我们使用了 strtol 函数,实现了将字符数组 str 转成了 long 类型,并赋值给 ret。
因为,我们的字符数组没有字符串部分,因此,strtol 函数的第二个参数,我们赋值为了 NULL。最后,我们使用了 printf 打印出了转换后的长整数。
使用 strtol() 函数,实现将字符串转长整型
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str[] = "12345.6789HaiCoder123!";
long ret;
char *strRet;
ret = strtol(str, &strRet, 10);
printf("Num Ret = %ld, Str Ret = %s\n", ret, strRet);
return 0;
}
程序运行后,控制台输出如下:
这次,我们使用 strtol 将字符串转成长整数,同时,我们传入了第二个参数,实现了,将字符串也转换了出来,我们可以看到,小数点以及小数点之后的都被算成了字符串部分。
在 C 语言中我们要将一个字符串转成长整型 ,我们可以使用 strtol 函数。