rt3 发表于 2020-7-7 22:04:45

请问strtol() 的 参数值 是 如何 影响 程序运行结果的

请问 下面 这个 代码,strtol() 的 参数值 5 是 如何 影响 程序运行结果的,谢谢

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char str = "2030300 This is test";
   char *ptr;
   long ret;

   ret = strtol(str, &ptr, 5);
   printf("数字(无符号长整数)是 %ld\n", ret);
   printf("字符串部分是 %s.\n", ptr);

   return(0);
}

Hello. 发表于 2020-7-7 22:04:46

long int strtol(const char *str, char **endptr, int base)
把参数 str 所指向的字符串根据给定的 base 转换为一个长整数(类型为 long int 型),base 必须介于 2 和 36(包含)之间,或者是特殊值 0

你给定的值会影响转换整数

举个例子,当base为2时,合法字符为‘0’,‘1’;

base为8时,合法字符为‘0’,‘1’,……‘7’;

base为10时,合法字符为‘0’,‘1’,……‘9’;

base 为16时,合法字符为‘0’,‘1’,……‘9’,‘a’,……‘f’;

base为24时,合法字符为‘0’,……‘9’,‘a’,……‘n’,

base为36时,合法字符为‘0’,……‘9’,‘a’,……‘z’;

但不区分大小写
页: [1]
查看完整版本: 请问strtol() 的 参数值 是 如何 影响 程序运行结果的