最多加载2 ^ 32 int

时间:2016-11-07 00:12:08

标签: c++ scanf cin

我需要加载最多2 ^ 32的内容。

许多资源表明cinscanf根本不会加载这么大的数字。

加载如此大数字的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

std::cinscanf都应该有效:

#include <cinttypes>
#include <cstdio>
#include <iostream>
int main()
{
    uint32_t n;

//with iostreams
    std::cin >> n;
    std::cout<<"read: "<<n<<'\n';

//with stdio
    scanf("%" SCNu32, &n);
    printf("read: %" PRIu32 "\n", n);

}

要么加载一个直到但不包括2 ^ 32(且不小于0)的整数。如果需要更大的范围,请尝试64位整数(有符号或无符号)。