last-C ++编译器的所有输出

时间:2015-06-03 12:35:09

标签: c++ io formatting

这个问题可能听起来很愚蠢,但我真的想知道在输入所有输入后如何获得所有输出。例如,对于输入

  3
  14 
  7
  6

输出假设

  0
  0
  1
  0

但编译器正在提供类似

的输出
 3
 0 14
 0 7
 1 6
 0

哪个看起来不太好,所以我希望得到的输出就像我们在 IDEONE 中得到的那样(即最后都是)。这可能吗?如果是,请告诉我

1 个答案:

答案 0 :(得分:3)

我假设您通过int读取输入int,并且在读取另一个int时立即输出,而为了实现所需的行为,您必须先读取它们然后再处理。

std::vector<int> ints;

while (std::cin)
{
    int x;
    if (std::cin >> x)
        ints.push_back(x);
}

for (int x : ints)
{
    // do what you want with x
}

请注意,问题绝对不是编译器,而是大多数终端的工作原理 - 标准输入流(stdin)和标准输出流(stdout)都与您在终端中键入/查看的文本。