2017-10-13 20 views
0

私はいくつかの基本的なC++プログラムを書くためにCLionを試していますが、std::cinまたはstd::getlineを使って入力を行うたびに、何も理由なく入力がコンソールに出力されます。私はこのプログラムCLionは自動的に標準入力からの入力を元に戻していますが、これは修正されていますか?

#include <iostream> 
#include <string> 

int main(){ 
    string name; 
    std::cin >> name; 
    std::cout << name << std::endl; 
    return 0; 
} 

を実行し、トーマスを入力し、キーを押した場合たとえば

は、私はこの出力を得る入力し

thomas 
thomas 
thomas 

私はちょうど

thomas 
thomas 

私が取得する必要があるときに代わりにWindows 10 x64上のCLion/Mingw64を使用して

+0

「トーマス」と入力してEnterキーを押します。つまり、少なくとも1つは表示されます。あなたはもう一つ以上を見ますか(合計3つ)? – NathanOliver

+0

ええ、申し訳ありませんが、私のせいで問題を編集しました。基本的には、私が書いたトーマスを見ます。洞穴で印刷されたものですが、どこから来ているのか分かりません。 –

+0

明確化のためにありがとう。 – NathanOliver

答えて

3

あなたのコードに問題はありません。

あなたが観察したことは、フードの下でWinPTYを使用することの副作用です。デフォルトでは、Windows上でデバッグされたプログラムと通信するために使用されます。

問題追跡ツールの対応するバグはCPP-2580 User input appears twice in output window in CLion under MinGWですので、お気軽にチケットをupvoteしてください。

問題に対する適切な修正はまだありませんが、あなたはPTYを無効にするには、そのチケットにコメントで提案回避策を使用することができます:検索アクション、タイプrun.processes.with.pty経由

レジストリを開くと、このPTYの設定を無効にします。

関連する問題