2017-08-21 11 views
-1

私はIDEとしてClionを使い始めました。キーボードから入力されたEOFに苦労しています。 私はClionのファイル名を指定して実行]ウィンドウで、この単純なC++コードキーボードからEOFを入力すると、なぜClionはプログラムの出力を実行ウィンドウに表示しませんか?

#include <iostream> 

int main(){ 
    int sum = 0, value = 0; 
    //read until EOF, calculating a running total of all values read 
    while(std::cin >> value){ 
     sum += value; 
    } 
    std::cout << "Sum is " << sum << std::endl; 
    return 0; 
} 

を実行する場合は、キーボード 1 2 cmd+dからI入力した後、私は+ EOFエミュレーションはCtrlキーを使用して実行されるいくつかの環境ではこの

1 2 ^D 

Process finished with exit code 0 

答えて

1

これは、Windows上でCLIONを使用した場合、known issueです。レジストリ内のrun.processes.with.ptyを無効にする(Findアクションを介して開く)と、通常役立ちます。

+0

ありがとうございます!この回避策は私の問題を解決しましたが、私がClionのMacOS版にいることに注意してください。 – wing

1

を取得しますZの組み合わせではないCtrl + D

このような問題を回避するには、「1 2」と入力する内容のファイルを作成します。

を実行し、標準入力をリダイレクトしてファイルから読み込むプログラムを実行します。この場合、EOFイベントは常に入力の最後に発生します。

$./test < myinputfile.txt 
2

MacOSでは、EOF(キーボード付き)はCmd + Dです。 CLionで
はで設定可能である: - >設定 - >キーマップ -

[ファイル]> [検索EOFとCmdを+ Dを設定します。


しかし、私はあなたのコードでthis場合の結果を変更しないようにゼロとして終了文字を使用することをお勧めします。

Example of execution in CLion

関連する問題