MFC——常见的几种类型转换(CString、Int、Char、string)

1. CString向char类型转换

        //这里使用string时在MFC项目中可能会报错
        //需要在目标文件头部添加命名空间(using namespace std;)
        //若此时让然报错需要添加引用(#include "string")
        CString str = "hello";
        string st = (string)(CStringA)str;
        int len = st.length();
        char* ch = (char*)malloc(len); //动态申请char*大小的空间
        for(int i = 0 ; i <len ; i++)
        {
        ch[i] = st[i];
        }
        ch[len] = '\0';

2. int向CString类型的转换

  /*若转换时Format函数第一个参数报错可能是因为项目字符集有问题,可以修改为“使用多字节字符集”;或者将参数"%d"改为_T("%d")*/

     int myInt;//目标int类型
     CString myCString;//目标CString类型
     myCString.Format("%d",myInt);

/*幻换函数,有俩个参数(前一个%d表示十进制正数,不加则不能将myInt格式为CString;第二个参数即为需要转换的int类型变量)*/

Formt简单介绍: 
有俩种形式,分别是俩个参数和三个参数,三个参数的线程安全但是不常用,俩个参数的较为常用,需要着重掌握。

3. CString向int类型转换 

 int myInt;//目标int类型
 CString myCString;//目标CString类型
 myInt= _ttoi(myCString);

4. int向string类型转换 
使用C++函数std::to_string可以实现转换,std::to_string不但可以将int转换成string,对于常用的基本数据类型都能进行转换,如float、double、long等。

int myInt;//目标int类型
string to_string (myInt);

5. string向int类型转换

std::string str;  //目标string类型
int myInt = std::stoi(str); 

6. char向CString类型转换

CString str ="hello";  
char * mychar =str.GetBuffer(str.GetLength());  
str.ReleaseBuffer();  

原文:https://blog.csdn.net/GoodLi199309/article/details/73920300 
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值