since 2012-08-11
Microsoft コンパイラが C4566 を出す話。
参考 http://dixq.net/forum/viewtopic.php?f=3&t=6656
圳 という文字は cp932 で扱えない。
下記のコメントアウトをはずすと warning C4566 が出て、実行すると「深?」になる。
// consoleapp.cpp #include "stdafx.h" #include <windows.h> // #include <cstdio> int _tmain(int argc, wchar_t* argv[]) { const wchar_t *wcs = L"深圳"; HANDLE hStdOut; DWORD dwNumberOfCharsWritten; hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); WriteConsoleW(hStdOut, wcs, wcslen(wcs), &dwNumberOfCharsWritten, NULL); // const char s[] = "深圳"; // printf(s); return 0; }