>23
誰も実際にLinuxに触ったこと無いと思われる。
いいかげんなこと言わないで欲しい。

結局何にも答えてくれないので自己レス。

とりあえず別のLinux7.1サーバーにソース持っていって
コンパイルしたら swprintf は通りました。
結局Linux 6.2 じゃ対応してないのね。

しかし、また新たな問題が。

int main()
{
wchar_t test[]={ L"漢字"};
wprintf(L"%d %d\n", sizeof(wchar_t), sizeof(test));
wprintf(L"%d\n", wcslen(test));
return 0;
}

この結果が

4 20
4

どーゆー事?
wchar_t が2バイト or 4バイトになるというのはわかるけど
なんで20バイトも?
しかも文字列の長さ4って・・・・

gdb でデバッグしてみると
char1文字1文字 を unsigned int に突っ込んだだけに見えます。
漢字の上位バイトと下位バイトが別々に格納されてる・・・

なんかめちゃくちゃな作りになってると思うのは私だけですか?