C++ std::cout 未考虑的输出

标签 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;
}

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

非常感谢!

最佳答案

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

关于C++ std::cout 未考虑的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18671358/

相关文章:

c++ - 没有window类怎么写QT系统托盘app,并和另外一个进程集成?

c++ - 在 OpenGL 中未规范化的法 vector 有什么行为?

c++ - 在 C++ 中拆分空分隔字符串序列的简单方法

c++ - 循环内控制台中的输入和输出

C++ cout 行为/执行顺序

c++ - 为什么在使用组合而不是继承时出现 C4624(基类析构函数不可访问)?

c++ - 在字符函数中传递字符值的奇怪错误

c++ - C++中优先级队列的结构排序标准

c++ - Visual C++ std::regex_search 错误?

c++ - 如何将名称读入指针数组并输出?