VS2008中CString对象与char型数组(或字符指针)间的转换

本文介绍了在VS2008中,由于默认使用Unicode编码,如何进行CString对象与char型数组之间的转换。在VC++ 6.0中转换相对直接,但在VS2008中需要利用特定函数,如GetBuffer和SetWindowText等,以避免出现乱码问题。
摘要由CSDN通过智能技术生成

                  申明:也许我的方法比较老套并略显不成熟,但我只是希望能给初学者一点启发,高手请不要踩我,因为我也只是一个自学道路上的新手而已.有更好,更简单的方法欢迎提出来,我顺道学习学习.微笑

                   在VC++ 6.0中是不需要这样来转换的.因为都是ANSI编码.

                   VC++ 6.0中举例: CString str ; char astr[]="Hello";

                   str+=astr;//这样即可完成转换.反之,则只需借用一个函数就能完成; astr = str.GetBuffer(20);

                   而在VS中默认的是Unicode编码方式,通常条件下也需要这种方式,直接用上面的转换会出现乱码.

                   字符串转换到CString是可以这样弄:CString str; char strs[100]="Mealfoe";  str+=strs;

                    反过来的话,需要借助几个函数.

                    CString tgrStr = _T("111452fa4few5f4ewfwe");

                    char str[200];

                    CString oStr;

                    GetWindowText(this->m_hWnd,oStr);

                    SetWindowText(this->m_hWnd,tgrStr);

                    GetWindowTextA(this->m_hWnd,str,200);

                    //最后还原窗口标题即可

                    SetWindowText(this->m_hWnd,oStr);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值