0

mfc アプリケーションのコンソールにいくつかのログを出力しようとしています

(というか、このアプリを2つの方法で実行したいです。通常は「cmd」によるGUI方法とCUI、サブコンソールは実行しません)

「CXXXApp::InitInstance()」でコンソール引数をキャプチャします

LPWSTR* argv = CommandLineToArgvW(GetCommandLineW(), &argc);

うまくいきますが、以下のようなメッセージを出力すると

fwprintf_s(stdout blah blah);
wprintf_s( blah blah);
std::wcout<<blah blah;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), blahblah);

「cmd」では何も機能しません

stdout と stderr をロックする何かを考えていますが、見つかりません


Windows とコンソールの両方で実行できる 1 つの実行可能アプリを作成したいと考えています。やりましたが、コンソールにログを出力できません

4

1 に答える 1

0

質問の意味がわかりませんし、他にも誰もいないと思います。そのため、返信がありません。たとえば、「'cmd' で何も動作しない」とはどういう意味ですか。

いずれにせよ、GUI アプリケーションを (Windows サブシステムで) 実行し、そのアプリケーションを起動したコンソールに書き込みたい場合、または Windows サブシステムとコンソール サブシステムの両方で実行できる 1 つの実行可能ファイルをビルドしたい場合は、運が悪い-それはどちらかです。この制限を回避するにはさまざまな方法がありますが、何をしたいのかがわからないと、どの方法が状況に適しているかを判断するのは困難です。

于 2013-11-04T17:14:12.847 に答える