1.CString与string相互转换
(1)string转CString非常简单
CString cstr;
string str = "abcd";
cstr = str.c_str();
(2)CString转string
1.非UNICODE
CString cstr = "abcd";
string str;
str = cstr.GetBuffer(cstr.GetLength());
2.UNICODE
2.CString置空操作
(1)CString在初始化的时候,默认构造函数就是初始化为空串
CString str;//此时str已经是空字符串
(2)在中途清空有以下两种方法(多字符集与UNICODE编码通用):
1.CString str;
str.Empty();
2.CString str;
str = _T("");
3.CString转double,int
(1)CString转double
CString str = "123.0";
double strn;
strn = atof(str);
(2)CString转int
CString str = "123";
int strn;
strn = atoi(str);
4.double转CString无效
当double类型的有数据趋近于0,无法转为CString类型,这是需要用std::ostringstream,可以实现任意类型转string
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
double a = 3.1232344e-020;
string str = "";
//头文件sstream
ostringstream oss;
oss << a;
str = oss.str();
cout << str << endl;
return 0;
}