C语言 <stdlib.h> strtol 函数

  • 描述

    C库函数long int strtol(const char *str, char **endptr, int base) str中的字符串的初始部分转换到长整型根据给定值,base它必须是2和36(含)之间,或为特殊值0。
  • 声明

    以下是strtol函数的声明。
    
    long int strtol(const char *str, char **endptr, int base)
    
    参数
    • str-这是包含整数表示的字符串。
    • endptr-这是对char *类型的对象的引用,该对象的值由函数设置为数值后str中的下一个字符。
    • base-这是基数,必须在2到36(含)之间,或者是特殊值0。
  • 返回值

    该函数将转换后的整数作为long int值返回,否则返回零值。
    示例
    以下示例显示strtol函数的用法-
    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main () {
       char str[30] = "2030300 This is test";
       char *ptr;
       long ret;
    
       ret = strtol(str, &ptr, 10);
       printf("The number(unsigned long integer) is %ld\n", ret);
       printf("String part is |%s|", ptr);
    
       return(0);
    }
    
    尝试一下
    让我们编译并运行上面的程序,它将产生以下结果-
    
    The number(unsigned long integer) is 2030300
    String part is | This is test|