7

私はコード ブロックが初めてで、 < 入力 > 出力のコマンド ライン引数を使用して動作させることができないようです。誰も方法を知っていますか?

現在、argv[1] から渡されたファイルを読み取ることができますが、プログラムは指定されたファイルから入力を自動的に読み取らず、出力をファイル出力に正しくしません。

私はそれが設定されたプログラムの引数にあることを認識しています.私の引数行は次のとおりです:list.txt <入力>出力

いくつかの調査の後、私は次のようにやっている人を見ました: ファイル ハンドラーを使用して操作する必要がありますか? 意味がありません。単純な getchar() は、渡された入力ファイルから読み取る必要があります。

ここで何が欠けていますか?

前もって感謝します

4

6 に答える 6

7

CB 13.12でそれを行う方法を見つけました

Tools -> Configure Tools -> Add:

Name: whatever
Executable: C:\Windows\System32\cmd.exe
Parameters: /C ${TARGET_OUTPUT_BASENAME} exampleArg1 <inputFileRedirect.txt
Working Directory: ${TARGET_OUTPUT_DIR}

基本的に、Windows コンソールを起動し、パラメータを渡します。これらのツールにキーボード ショートカットを割り当てることもできます。私が見ることができる唯一の欠点は、ツールがプロジェクト固有ではないことです。

于 2014-10-10T18:35:14.890 に答える
5

私はしばらくの間 Code::Blocks を使用してきましたが、最近、少なくとも Windows の Code::Blocks 12.11 で同じことを指摘しました。リダイレクト><はプロジェクトでは機能しません-> プログラムの引数を設定します...

ハックな解決策は、ビルド後のステップで実行することです。

右クリックproject name -> Build options... -> Pre/post build steps -> Post-build steps:

cmd /C cd /D "bin\$(TARGET_NAME)\" & YourApplicationNameHere.exe >output.txt 2>errors.txt

そして、ターゲットが最新であっても常に実行するチェックボックスをオンにします。ここでCtrl+F9を押すと、ビルド プロセスの最後のステップとしてプログラムが実行されます。

于 2013-08-13T13:09:03.370 に答える
1

プロジェクトメニューでプログラム引数を設定することで、入力をCプログラムにリダイレクトできました。

に移動して最初Top Menu>Project>Set programs' arguments</absolute/path/to/yourinputfile通知すると<、引数を渡す代わりにコードブロックをだましてファイルをリダイレクトします。

ここに画像の説明を入力

于 2015-11-20T18:14:17.020 に答える
1

IDEcb_console_runner.exeでプログラムを起動するのは問題だと思います。 リダイレクト記号を解釈できません。そこで、コードブロック 13.12 の元のコードにいくつかのコードを追加します。リンク先のファイルを[cbフォルダ]にコピーしてください。(オリジナルのバックアップをお忘れなく。)ConsoleRunner

バイナリ: http://limity.tistory.com/attachment/cfile30.uf@241A8D485621595131B28F.exe

ソースコード: http://limity.tistory.com/attachment/cfile23.uf@231AF3485621595232A632.cpp

于 2015-10-16T20:10:47.453 に答える
0

私はほとんどすべてのオプションを試しましたが、うまくいきませんでした:Pすべてにうんざりした後、私は基本的にファイル処理を使用して作業を完了します( phew )

これが私がコードで行ったことです

グローバルスコープで私が書いた:

#define DEBUG

#ifdef DEBUG
#include<fstream>

ifstream Inputfile;
ofstream Outputfile;

#define cin     Inputfile
#define cout    Outputfile

#endif  //#ifdef DEBUG

&主に、他のことをする前に次のように書きました:

int main(){
#ifdef DEBUG

    Inputfile.open("Input.txt");
    Outputfile.open("Output.txt");;

#endif // #ifdef DEBUG

最後に、メインプロセスを閉じる直前にこれを行いました:

#ifdef DEBUG

    Inputfile.close();
    Outputfile.close();

#endif // #ifdef DEBUG

この後、2つのファイルが追加されました

入力.txt

&

output.txt

プロジェクトへ

これは期待どおりに機能しました

于 2016-05-26T04:56:50.263 に答える