1.CString分别在MFC、WTL、ATL中都有实现,但是用法基本一样。
//using cstring
typedef CHAR *LPSTR;
typedef WCHAR *LPWSTR;
#ifdef UNICODE
typedef LPWSTR LPTSTR;
#else
typedef LPSTR LPTSTR;
#endif
using ATL::CStringA;
using ATL::CString;
using ATL::CStringW;
/**
ATL::CStringA cstra / LPSTR
ATL::CStringW cstrw / LPWSTR
ATL::CString cstr / LPTSTR
**/
//eg: string as function outputs
CStringA GetUinfo(LPSTR id);
CStringW GetUinfo(LPWSTR id);
CString GetUinfo(CString& id);
CStringW myString1 = _T("This is a test");
CStringA myString2 = "This is a test";
wchar_t wchar1[40] = {0};
char char2[40] = {0};
strcpy(char2, (LPCSTR)myString2);
wcscpy(wchar1, (LPCWSTR)myString1);
strcpy(myString2.GetBuffer(40), "this is copy string!");
myString2.ReleaseBuffer();
wcscpy(myString1.GetBuffer(40), _T("this is copy string!"));
myString2.ReleaseBuffer();