如何将超过10位的整数转换为C中的字符串?

时间:2014-05-27 17:11:58

标签: c string int

//What I have that works on integers with 10 digits or less:
#include <stdio.h>
#include <string.h>
int main(void)
{
    printf("Card number? ");
    int i = GetInt();
    char str[100];
    snprintf(str, 64, "%i", i);
    printf("Your string: %s\n",str);
}

1 个答案:

答案 0 :(得分:3)

问题可能是&#34;你如何使用精度超过10位十进制数的整数?&#34;

答案是by using a big-number library,因为你不能假设内置类型支持那么多数字,通常是。

或者,您可以使用

逃脱
#include <stdint.h>

并使用uint64_t,这将为您提供最多9223372036854775808(超过18位数)的整数。