CString 转char

博客介绍了Unicode和多字符集编码下CString与char的转换方法。在Unicode下给出两种转换方式,多字符集编码下也给出三种转换方式,包含使用memcpy、WideCharToMultiByte等函数及相关指针操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一Unicode:

       CString sSrc = _T("aa测试");

       方法1:

        char ch[10];
        memset(ch,0,10);
        memcpy(ch,sSep,sSep.GetLength());
        char mychar = ch[0];//如果需要的话,只取第一个,

       方法2:

      

       char *p = NULL;
        int nLength = sSrc.GetLength();
        int nByte = WideCharToMultiByte(CP_ACP,0,sSrc,nLength,NULL,0,NULL,NULL);
        p = new char[nLength + 1];
        memset(ch,0,nLength + 1);
        WideCharToMultiByte(CP_OEMCP,0,sSrc,nLength,p,nByte,NULL,NULL);
        p[nByte]=0;
 二、多字符集编码下:

       方法1:
     char *p;

     CString str="hello";

     p=str.GetBuffer(str.GetLength());

     str.ReleaseBuffer();

     方法2:
     CString str="hello";

     char ch[10];

     memset(ch,0,10);

    memcpy(ch,str,str.GetLength());

     方法3:

     char *ch;

     CString str="hello";

     ch=(LPSTR)(LPCTSTR)str;


     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值