CString类注意事项

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30901441/article/details/75331049

1.CString与string相互转换

1string转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;
}

猜你喜欢

转载自blog.csdn.net/qq_30901441/article/details/75331049