CString转换为char * 2011-07-09 16:49 1.
char* CStringToChar(CString & str) {
char temp[MAX_LENGTH];
for(int i=0;i 然后用strcpy(); 2、 (char*)(LPCTSTR)加到前面就可以了 3、将CString转换为const char *类型? char* CStringToChar(CString & str) { char temp[MAX_LENGTH]; for(int i=0;i 然后用strcpy(); strBuffer.GetBuffer() 或者 (char*)(LPCTSTR)strBuffer 都可以 -------------------------------------完整版-------------------------------------------- 方法一: 如果不更改字串,用LPCTSTR即可,e.g.: CString strTest = \char* pszTest = (LPCTSTR)strTest; or :char* pszTest = (char*)(LPCTSTR)strTest; 方法二: 如果要更改字串,用GetBuffer()即可,e.g.: CString strTest = \ 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(\LPTSTR p = s.GetBuffer(); // 在这里添加使用p的代码 if(p != NULL) *p = _T('\\0'); s.ReleaseBuffer(); // 使用完后及时释放,以便能使用其它的CString成员函数 str的值变了.
相关推荐: