VisualStudioでWin32アプリケーションを開発していると、デバッグ用文字列の出力にはprintfが使えない。その代わりに、OutputDebugStringを使用する。
OutputDebugString("test\n");
これでVisualStudioでデバッグ実行時に出力ウィンドウに文字列が表示される。
ただし、プロジェクトのプロパティで文字セットの項目が「Unicode文字セットを使用する」になっていると、上のコードでは
'OutputDebugStringW' : 1 番目の引数を 'const char [6]' から 'LPCWSTR' に変換できません。
というエラーが出てしまい、コンパイルできない。この場合は文字列の前にLを付けてやればよい。
OutputDebugString(L"test\n");