MFC----Cstring 与 int、float、double 数据类型的相互转换

关注微信公众号“二进制小站”~~获取更多分析~~(文末二维码~~)

文章转自:http://blog.csdn.net/manji_lee/article/details/7556649

1. Cstring与int 的转换

1)Cstring转int

Cstring cstr="12345";

int a=atoi(cstr);

int 转Cstring

Cstring cstr;

int a=8;

cstr.format(”%d”, a);

3. Cstring与float的转换

 

Cstring转float

Cstring cstr="8.67";

float a=atof(cstr);

float 转Cstring

Cstring cstr;

float a=8.00;

cstr.format(”%.2f”, a);

4. Cstring与double的转换

Cstring转double

Cstring cstr="8.89475";

double a=atof(cstr);

double转Cstring

Cstring cstr;

doulbe a=8.0067;

cstr.format(”%.4f”, a);

5. Cstring与string的转换

Cstring转string

Cstring cstr="Germany";

string cs(cstr.GetBuffer());

string转Cstring

Cstring cstr;

string cs="Germany";

cstr.format(”%s”, cs.c_str());

 

另外:CString 转 char*

 

CString strfilename = L"myfile.xml";

char* filename;

USES_CONVERSION;

filename = T2A(strfilename);

注意:USES_CONVERSION宏要慎用;

USES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include "atlconv.h"
使用USES_CONVERSION一定要小心,它们从堆栈上分配内存,直到调用它的函数返回,该内存不会被释放。如果在一个循环中,这个宏被反复调用几万次,将不可避免的产生stackoverflow。

参考自:http://blog.csdn.net/cnmilan/article/details/7721153
 

你可能感兴趣的:(C++,MFC)