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位字符串的整数?






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
challenger
1楼-- · 2019-08-21 16:35
已经搞定了,好象atof()可以。
szczyb1314
2楼-- · 2019-08-21 19:38
atoi转为整数。你这个是不是超范围了

一周热门 更多>