首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C中使用strtol()将char数组转换为int

在C语言中,可以使用strtol()函数将一个char数组转换为int类型。

strtol()函数的原型如下:

代码语言:txt
复制
long int strtol(const char *str, char **endptr, int base);

参数说明:

  • str:要转换的字符串。
  • endptr:指向一个指针,用于存储转换结束后的字符位置。
  • base:转换时使用的进制数,可以是2~36之间的任意值,或者0。当base为0时,会根据字符串的前缀来判断进制数,如"0x"表示16进制,"0"表示8进制,其他情况下默认为10进制。

函数返回值为转换后的长整型数。

使用strtol()函数将char数组转换为int的步骤如下:

  1. 定义一个char数组,存储要转换的字符串。
  2. 定义一个指针变量endptr,用于存储转换结束后的字符位置。
  3. 调用strtol()函数进行转换,将转换后的结果赋值给一个int变量。

示例代码如下:

代码语言:txt
复制
#include <stdio.h>
#include <stdlib.h>

int main() {
    char str[] = "12345";
    char *endptr;
    int num;

    num = (int)strtol(str, &endptr, 10);

    printf("转换后的整数为:%d\n", num);
    printf("转换结束后的字符位置:%s\n", endptr);

    return 0;
}

输出结果为:

代码语言:txt
复制
转换后的整数为:12345
转换结束后的字符位置:

在上述示例中,将字符串"12345"转换为整数12345,并且转换结束后的字符位置为空。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券