MFC中 CString 转换成string
(2012-07-09 10:34:50)
标签:
杂谈 |
分类: 我的东东 |
MFC中 CString 转换成string
今天编译Opencv程序时出现了这个错误
1>
1>
1>
1>
1>
1>
1>
解决方法以下三种
第一种方法:先利用CString类提供的operator
LPCTSTR转换函数将CString对象转换为一个C风格字符串,然后再转换成string类型,例如:
std::basic_string<TCHAR>
filename((LPCTSTR) file1);
第二种方法:
std::basic_string<TCHAR>
filename(file1.GetBuffer(file1.GetLength()));
其实前两种方法的关键就是str::basic_string<TCHAR>。
第三种方法:这种方法也是我刚从网上找的,在VS2008的MFC的工程中编译通过,在别的地方调试可能要添加相关的头文件,CT2A
它定义在"atlconv.h"中。
CT2A xx(file1);
filename = xx;
以上三种方法我在VS2010种全部编译通过。