Discuz! Board

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

CString string char[] char*

[复制链接]

1272

主题

2067

帖子

7958

积分

认证用户组

Rank: 5Rank: 5

积分
7958
跳转到指定楼层
楼主
发表于 2020-1-30 10:26:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CString->string
CString->std::string 例子:
CString strMfc="test";
std::string strStl;
strStl=strMfc.GetBuffer(0);
cfg.strServerIP = string((LPCTSTR)m_strAddr);

        CString g_strIniName;
  string strIniName = g_strIniName.GetBufferSetLength(g_strIniName.GetLength());

std::string->CString 例子:
CString strMfc;
std::string strStl="test";
strMfc=strStl.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) ;
       
       
--------------------string -> char*------------------------
string db_cfg_pwd_;
const_cast<char *>(db_cfg_pwd_.c_str())
       

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 04:14 , Processed in 0.055647 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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