VS下的字符串转换

最近写程序老师碰到字符串之间的转换,每次都记不住还是写个笔记记一下要不每次都查半天太费劲

CString 与 string之间的转换

             //下面的两种方法VS2015都有错

//1.有错CString -》string

//CString str = finder.GetFileName();

//string strPath = W2A(str);//str.GetBuffer(0);


//2.VS2008没错CString -》string
//string strPath = str.GetBuffer(0);
//string strPath = (LPCSTR)(finder.GetFilePath());


//3.VS2015没有错CString -》string

                USES_CONVERSION;
        string strFileStr = W2A(m_strFind.GetBuffer());


//4.VS2015没有错 string ->CString

CString str = (LPCTSTR)strFilePath.c_str();//乱码
char ch[2048] = "";
sprintf(ch, "%s", strFilePath.c_str());
int num = MultiByteToWideChar(0, 0, ch, -1, NULL, 0);
wchar_t *lpstr1 = new wchar_t[num];
MultiByteToWideChar(0, 0, ch, -1, lpstr1, num);
         


             /* sprintf(ch, "%s", finder.GetFileName());//只能读取首字符
用构造函数,参数传由cstring转换来的char* :
sring a( (LPSTR)(LPCTSTR)cstring );
string strPath = ch;*/


向wchar中赋值

MultiByteToWideChar(CP_ACP, 0, "测试程序", -1, strWchar, 128);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

telllong

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值