2017-08-01 10 views
0

コマンドラインから入力引数を使用してMFCアプリケーションを呼び出そうとしています。コマンドラインから引数+ stdout + stderrを使用してMFCアプリケーションを呼び出す

出力をファイルに出力し、エラーを別のファイルに出力したいと思います。

したがって、入力引数に加えて、私は1>out.txt 2>err.txtを渡します。両方のファイルに結果を書き込み、しばらくのために働くように見えなかった

start /w app.exe arg1 arg2 arg3 1>out.txt 2>err.txt 

全体的に、コマンドラインは次のようになります。

しかし、ある時点では停止していたので、間違っていると思います。ここで

は私のコードです:

ヘッダーファイル:

class CMyWinApp : public CWinApp 
{ 
public: 
    BOOL InitInstance(); 
}; 

ソースファイル:

CMyWinApp myWinApp; 

BOOL CMyWinApp::InitInstance() 
{ 
    CWinApp::InitInstance();  
    int iNumOfArgs; 
    LPWSTR* pArgs = CommandLineToArgvW(GetCommandLine(),&iNumOfArgs); 
    for (int iArgNum=1; iArgNum<iNumOfArgs; iArgNum++) 
    { 
     fprintf(stdout,"%ls\n",pArgs[iArgNum]); 
     fprintf(stderr,"%ls\n",pArgs[iArgNum]); 
    } 
} 

私がここで間違って正確に何をしているのですか?

ありがとうございます。

答えて

0

OK、問題解決:

私が完了するのを待って強制するために、いくつかの点でstart /wを追加しました。

何らかの理由で、結果として2つの宛先ファイルに何も書き込まれません。

関連する問題