2

コード:

#include <stdio.h>
#include <wchar.h>
#define USE_W
int main()
{
#ifdef USE_W
    const wchar_t *ae_utf16 = L"\x00E6 & ASCII text ae\n";
    wprintf(ae_utf16);
#else
    const char *ae_utf8 = "\xC3\xA6 & ASCII text ae\n";
    printf(ae_utf8);
#endif
    return 0;
}

出力:

ae & ASCII テキスト ae

printf は正しい UTF-8 出力を生成しますが、次のようになります。

æ & ASCII テキスト ae

これはここでテストできます。

4

1 に答える 1