@ambergon
横から失礼します。
setlocale(LC_ALL, NULL)で元のロケールがchar*で取得できるので、
```
char* old_locale = setlocale(LC_ALL, NULL);
setlocale(LC_ALL, "");
// 処理
setlocale(LC_ALL, old_locale);
```
という方法を思いつきました
(C/C++久し振りなので細かいところ間違っていたらすいません。)
またWIN32APIならMultiByteToWideChar 関数が使えそうかなと思いました
(参照: https://learn.microsoft.com/ja-jp/windows/win32/api/stringapiset/nf-stringapiset-multibytetowidechar )
何かお役に立てれば幸いです