http://blog.163.com/tianshi_17th/blog/static/4856418920085209414977/
Realized a bit
#include" stdafx.h "#include <iostream> #include <sstream>using Namespace std;char* Wchar2char (wchar_t *wstr) {size_t len = wcslen (wstr) + 1;size_t converted = 0;char *cstr; Cstr= (char*) malloc (len*sizeof (char)), wcstombs_s (&converted, CStr, Len, Wstr, _truncate); return CStr;} wchar_t *char2wchar (char *cstr) {size_t len = strlen (CStr) + 1;size_t converted = 0;wchar_t *wstr; Wstr= (wchar_t*) malloc (len*sizeof (wchar_t)), mbstowcs_s (&converted, Wstr, Len, CStr, _truncate); return wstr;} Wstring char2wchar2 (char *name) {wstringstream Wname;wname<<name;return wname.str (). C_STR (); int _tmain (int argc, _tchar* argv[]) {char name[]= "Zhangsan China"; wstring c2w2name = char2wchar2 (name);wcout<< C2W2NAME.C_STR () << "wstring" <<endl;wchar_t *c2wname = Char2wchar (name);wcout<<c2wname<< " c2w "<<endl;char *w2cname = Wchar2char (c2wname);cout<<w2cname<<" w2c "<<endl;free (w2cname); Free (c2wname); return 0;}
C + + wchar_t direct conversion to char "go"