1

したがって、私はオブジェクトのメソッドにいますが、cout ステートメントはまったく出力を生成しません。

#include <iostream>
#include <stdio.h>

Object::Method()
{
    printf("why is the next line not printing? This one prints fine\n");

    std::cout << "This line should print second, but doesnt" << std::endl;

    printf("but this line prints fine like the first!\n");
}

出力は次のとおりです。

次の行が印刷されないのはなぜですか? これはきれいに印刷されます

しかし、この行は最初のようにうまく印刷されます!

なぜ印刷されないのかわかりません。std::flushも効果がありません。

4

2 に答える 2

1

std::cout(C++ ストリーム) または C スタイルのストリームのいずれかを使用する必要があります。それらを混在させると、未定義の動作が発生する可能性があります。

たとえば、個別の「バッファリング」チャネルを持つことができます。

于 2013-03-23T17:57:27.663 に答える
0

コード スニペットは私のシステムで正常に動作します。問題は、ここにリストされていないコードの他の部分に起因する可能性があります。fflush(stdout)メソッドの最初に試してみて、それが機能するかどうかを確認してください。

于 2013-03-23T16:05:43.967 に答える