以下のプログラム
const wchar_t* p = L"abcあいう";
::MessageBox( NULL, p, L"", MB_OK);
printf("error:%s\n", p);
printf("error:%S\n", p);
wprintf(L"error:%s\n", p);
wprintf(L"error:%S\n", p);
を実行すると
error:a
error:abc
error:abcerror:a
と化けます。(ダイアログには出る)
コンソールに正しく出すのはどうすればよろしい?