在VC中,CSTRING類的用法形式多樣,豐富多彩.但有時與傳統數據類型之間的轉換成爲了很多人的難題.
下面我來簡單介紹它們之間的關係.
1 如何實現cstring與char*之間的轉換:
CString m_cstr="abc";
char* m_char="def";
char* lp=m_cstr.GetBuffer(m_cstr.GetLength());
m_cstr.ReleaseBuffer();
//相反的char* 轉換成cstring
m_cstr.Format("%s",lp); // lp爲數組指針
第二種:強制類型轉換爲 LPCTSTR
LPTSTR p = m_cstr.GetBuffer( 10 );
strcpy( Count, p );
m_cstr.ReleaseBuffer( );
2 .cstring 與BYTE之間的轉換
BYET 爲無符號字符型.原理與CHAR類似
CString m_cstr;
BYTE m_byte[100];
m_byte=(BYTE*)m_cstr.GetBuffer(m_cstr.GetLength()); //cstring轉BYTE
同理:
m_cstr.format("%s",m_byte); //BYTE字符串輸出
3 BYTE與CHAR類型之間的轉換
strcpy,memcpy 函數皆可以強制轉換
strcpy(m_char,(char*)m_byte);
strlen=(char*)m_byet;
memcpy(m_char,m_byte,strlen);
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/xaobao/archive/2007/11/07/1871291.aspx