character
- char:
 prefix withstr
 ANSI:strcat( ),strcpy( ),strlen( )
- wchar_t :
 prefix withwcs
 Unicode:wcscat(),wcscpy(),wcslen()
- WCHAR:typedef wchar_t WCHAR
 WCHAR == wchar_t
 macro_UNICODEinc, macroUNICODEinwindows
 if no macro defined, system useANSIcompiling and run.
- TCHAR:
 Condition define type
 If macroUNICODEdefinedtypedef wchar_t TCHAR;
 If nottypedef char TCHAR;
checkout
| 1 | 
 | 
From VS2005 C++’s encoding use UNICODE in default.
translate
char -> wchar_t1
2
3
4
5
6
7
8
9wchar_t* Util::CharToWchar(char* c)
{
  int length = strlen(c) + 1;   // the text end \0 [0x00] [EOF]
  wchar_t *wide = (wchar_t*)malloc(sizeof(wchar_t)*length);
  memset(t, 0, length * sizeof(wchar_t));
  MultiByteToWideChar(CP_ACP, 0, c, strlen(c), wide, length);
  //wcout << wide << endl;
  return wide;
}
wchar_t -> char1
2
3
4
5
6
7
8
9
10char* Util::WcharToChar(wchar_t* wc)
{
  int length = wcslen(wc) + 1;
  	cout << length1 << endl;
  	char *c = new char[length1];
  	WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, wc, -1,
      c, length, NULL, NULL);
  	cout << c << endl;
    return c;
}