fork(4) download
  1. #include <iostream>
  2. #include <string>
  3. #include <locale>
  4.  
  5. std::string convert(std::wstring str, std::locale loc = std::locale(),
  6. std::mbstate_t state = std::mbstate_t())
  7. {
  8. const wchar_t* a; char *b;
  9. std::string res;
  10.  
  11. res.resize(str.size());
  12.  
  13. auto bytes = std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>(loc)
  14. .out(state, &str[0], &str[str.size()], a, &res[0], &res[res.size()], b);
  15.  
  16. return res;
  17. }
  18.  
  19. int main()
  20. {
  21. std::wstring a = L"abcdef";
  22. std::string b = convert(a);
  23.  
  24. std::cout << b;
  25. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
abcdef