C++17からはwstring_convertが非推奨となるので環境毎のコードが推奨される
概要
推奨されるマルチバイト文字変換。
非推奨
C++17からスタンダードライブラリのものは非推奨になる
Visual Studioで下記のようなコードをC++17を有効にした状態で書くと
#include <codecvt> #include <locale> int main() { std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> converter; }
エラー C4996 'std::codecvt_utf8<wchar_t,1114111,0>': warning STL4017: std::wbuffer_convert, std::wstring_convert, and the
上記のようなエラーが出る。
推奨
それをふまえて、windows環境で推奨されるマルチバイト変換は下記のようになるだろう。
std::basic_string::dataメソッドの知名度が低い。