15位数的字符串转为长整数,用atoi(str)函数,结果怎么不对呢?

2019-08-21 12:37发布

比如我要转换的字符串为:862631039324107,
char *str = "862631039324107";
   n = atoi(str);
   printf("string = %s integer = %ld ", str, n);

  //printf("string = %s integer = %d ", str, n);
怎么始终是:2147483647,得不出结果:862631039324107
是不是atoi()不支持这么长的转换?
有哪个函数能换15位字符串的整数?






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。