2016-11-15 24 views
-2

Visual StudioでC++コマンドラインアプリケーションを開発しており、コマンドライン引数でデバッグする必要があります。私は必要な引数(このprogram.exe -file.txtのような)を使って生成されたEXEファイルを実行しますが、この方法ではデバッグはできません。私は私のプロジェクト/プロパティ/デバッグ/コマンドの引数ボックスで右クリックする必要があり、私のarguments.butを入力してください私は別のarguments.iで私のプログラムの11を実行したいと思う私のexeファイルを別の毎回の議論。どのように私はすべての実行のための変数を割り当てる必要がありますし、1つのexeファイルを作る?私はここでコマンドの引数ボックスまたはすべてのパラメータを割り当てる必要があります。Visual StudioのC++のmain関数に引数を渡す2015

+1

どこかには、コマンドライン引数を設定する方法があります。しかし、プログラムの作業ディレクトリはおそらく期待通りではないので注意してください。ファイルにパスを渡すと相対パスではなく絶対パスになります。 –

+1

代わりにバッチファイルを実行して、ループして、あなたのexeをargsで呼び出すことができますが、実際の問題は何ですか?コマンドライン引数を解析する際に何か問題が起きていますか?その場合、解析をテストするために単体テストを書くことができますか? – doctorlove

+1

今はコマンドライン引数を取り除いてください(つまり、 'main'で' argc'と 'argv'を使う代わりに、あなたの入力ファイル名のリストを用意して、一度に一つずつ実際のコードに渡します)。ループ)。 –

答えて

1

ソースコードをデバッグする場合は、実行可能ファイルを実行することはお勧めできません。

は、今のコマンドライン引数の、代わりにmainargcargvを使用して取り除く、あなたの入力ファイル名のリストを作成し、そして(ループで)一度に実際のコード1に渡します。例えば

:プロジェクト設定で

void MyFunc(const char* fileName) 
{ 
    ... 
} 

int main() 
{ 
    const char* fileNames[] = 
    { 
     "file1.txt", 
     "file1.txt", 
     ... 
    }; 

    for (size_t i=0; i<sizeof(fileNames)/sizeof(*fileNames); i++) 
    { 
     MyFunc(fileNames[i]); 
    } 

    return 0; 
} 
関連する問題