在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 );
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);
