方法一:
如果不更改字串,用LPCTSTR即可,e.g.:
CString?strTest?=?"abcdefg";
char*?pszTest?=?(LPCTSTR)strTest;
or?:char*?pszTest?=?(char*)(LPCTSTR)strTest;方法二:
如果要更改字串,用GetBuffer()即可,e.g.:
CString?strTest?=?"abcdefg";
char*?pszTest?=?strTest.GetBuffer(strTest.GetLength());


strTest.ReleaseBuffer();(此時用完后必須調ReleaseBuffer)
方法三:
使用 _tcscpy( char *strDestination, const char *strSource )也是可以的;
strDestination -- char *
strSource ---CString
方法四:
那就是sprintf了,要不memcpy也可以的。
CString 與char []之間的轉換.??
char str[100] = ”str”;
CString sstr = “sstr”;
str.Format(“%s”,str);
str = LPCTSTR sstr;
strcpy(str,(LPCTSTR)sstr);
如果是賦值,則要:
CString s(_T("This is a test "));
LPTSTR p = s.GetBuffer();
// 在這里添加使用p的代碼
if(p != NULL) *p = _T('\0');
s.ReleaseBuffer();
// 使用完后及時釋放,以便能使用其它的CString成員函數
str的值變了.