ワイド文字(Windows)

Windows + VisualC++だと、ワイド文字出力の方法に違いがある。

マルチバイト文字とワイド文字 | Microsoft Learn
書式指定構文: "printf" および "wprintf" 関数 | Microsoft Learn

wide_character.cで、

/* ヘッダファイルのインクルード */
#include <stdio.h>	/* 標準入出力 */
#include <locale.h>	/* ロケール */

/* main関数の定義 */
int main(void){

	/* ワイド文字の出力. */
	printf("%C\n", L'あ');	/* printfで%Cでワイド文字'あ'を出力. */

	/* ワイド文字列の出力. */
	printf("%S\n", L"あいうえお");	/* printfで%Sでワイド文字列"あいうえお"を出力. */

	/* プログラムの終了 */
	return 0;

}

%lcや%lsは、Windowsでも使えるし、%Cや%Sも、Linuxで使えた。
でもこれだと、

コンソールに正しくワイド文字が出力されないので
コンソールに正しくワイド文字が出力されないので

コンソールに正しくワイド文字が出力されないので、

ロケールをセットする。
この時、Windowsでは、LC_ALL, "japanese"をセット。

そうすると表示される。
そうすると表示される。

そうすると表示される。

Sample/c/wide_character/wide_character_Windows/src/wide_character at master · bg1bgst333/Sample · GitHub