時々必要になるんだけどいつも忘れて調べなおすのでメモ。 WindowsではAPI、それ以外ではiconvが環境に備わっているのでそのまま使える。 ただ、WindowsAPIはcp932とutf8とucs2?くらいしか使えないのでそれ以外が要るときはなんか用意する必要がある。 iconvはiconvで改行の面倒を見てくれないので用途によっては不便になる。 windows #include <windows.h> #include <string> #include <iostream> #include <vector> // const char *text -> const std::string &textに変更など地味に修正 std::wstring to_WideChar(UINT uCodePage, const std::string &text) { int size=Mul