web-dev-qa-db-ja.com

デバッグ中のCLion標準入力

私がやろうとしていることは基本的には:

./myProgram < myData.txt

CLion IDEでデバッグしている間。そのためのオプションが見つかりません。

A similar 質問-MSVS固有の製品

25
user5414301

同じ問題があり、CLionはまだ標準入力を処理していないようです。

プログラムを実行する前に入力ストリームを変更することで、この問題を回避しました。

例として、stdin内にファイルストリームを入力する場合は、mainに書き込むことができます。

std::ifstream in("ABSOLUTE_PATH_TO_YOUR_FILE");
std::cin.rdbuf(in.rdbuf());

その後、必要に応じてこのストリームの変更を切り替える方法を見つけることができます。アプリケーションは現在のディレクトリとは異なるディレクトリから実行されるため、ファイルの場合は絶対パスを指定する必要があることに注意してください。

CLionが実際のソリューションを提供するまで、これが役立つことを願っています。

22
Arnaud Bertrand

入力ファイルが_myData.txt_であるとすると、stdinを使用してfreopenストリームを再オープン/再利用できます

freopen("myData.txt","r",stdin);

出力で同じことをしたい場合:

freopen("myOutput.txt","w",stdout);

これはstd :: cin、printfなどで機能します...

詳細については、こちらをご覧ください: http://www.cplusplus.com/reference/cstdio/freopen/


ちなみに、これについてはすでに機能リクエストがあります。興味がある場合は、ここで投票して優先順位を付けることができます。 https://youtrack.jetbrains.com/issue/CPP-315

10
Juan Leni