CString 與 char 與 BYTE 之間的轉換


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM