Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2264|回复: 1
打印 上一主题 下一主题

类型转换

[复制链接]

1228

主题

1998

帖子

7598

积分

认证用户组

Rank: 5Rank: 5

积分
7598
楼主
发表于 2020-1-1 14:47:25 | 显示全部楼层
CString->string
CString->std::string 例子:
CString strMfc="test";
std::string strStl;
strStl=strMfc.GetBuffer(0);
cfg.strServerIP = string((LPCTSTR)m_strAddr);

CString strdbPath;
wstring wdbPath =strdbPath.GetString();
wstring wdbPath =strdbPath.GetBuffer(strdbPath.GetLength());

std::string->CString 例子:
CString strMfc;
std::string strStl="test";
strMfc=strStl.c_str();
wstring filename;
CString str( filename.c_str() );

LPCTSTR str;
std::wstring cs = (LPCTSTR)str;
str = cs.c_str();


int CStringToInt(CString str)
{
        int nVal = atoi(str.GetBuffer(str.GetLength()));
        str.ReleaseBuffer();
        return nVal;
}


CString转char[]
char work_no[10];
Cstring m_csWorkno
memcpy(struResp.work_no,(LPCTSTR)m_csWorkno,m_csWorkno.GetLength());


string 转 char[]
strncpy_s(resWebConRes.mainAccount,strposTerminalNbr.c_str(),strposTerminalNbr.length());


CString转char*
char*pBuf=str.GetBuffer(0);
char*sz=str.GetBuffer(str.GetLength());
可以直接强制类型转换(LPTSTR)(LPCTSTR)str,即为char*类型
GetBuffer是返回一个锁定的内存地址,参数是指要锁定的内存长度

char转CString

CString str;
char a[]="121a";
str.Format(%s,a);
cout<<str<<endl;


char[] 转 string
        char terminal_no[64]="";转string terminal_no
        terminal_no = (string) terminal_no;
        string strworkno(pworkno);

int -> char*
char DB_MyBusinessType[3]={0};//我平台业务类型 00-未知 01-支付费转话费
        sprintf(DB_MyBusinessType,"%02d",struReq->nBusinessType) ;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-17 09:36 , Processed in 0.052048 second(s), 17 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表