c ++ std :: cout意外输出

时间:2013-09-07 08:23:02

标签: c++ std cout

您好我正在用std :: cout编写一些带有以下代码的调试输出:

编辑:按照建议我在每个cout上添加了一个std :: flush,并在每次迭代时添加了一个std :: endl

int
    index = 0,
    size = vector.size();
for (iterate trough a vector)
{
    std::cout << "Actual element: " << index+1 << "/" << size << std::flush;
    ...
    if (bad element)
    {
        std::cout << " -> Bad Element" << std::flush;
    }
    std::cout << std::endl;
}

坏元素字符串只出现在连续元素之后,为什么? 我错过了什么?

非常感谢!

1 个答案:

答案 0 :(得分:1)

你的std::cout << std::flush循环中应该有一个std::cout << std::endl(或for),它总是被完成(即使没有坏元素),或者至少在你的for循环之后....