字符转换方法

常用的字符转换表:

转换表

源格式->目标格式 string char* const char* char[]
string NULL 直接赋值 直接赋值 直接赋值
char* strcpy NULL const_cast char*=char
const char* c_str() 直接赋值 NULL const char*=char;
char[] copy() strncpy_s() strncpy_s() NULL

宏定义转换格式
char* szTempSend=NULL;
unsigned long leng_th;
CString cs_in;
USES_CONVERSION;
cs_in=_T(“adc中国人的a\r\n新的银行”);
szTempSend = W2A(cs_in);//转成字节流,szTempSend在函数结束后无需用函数释放

字节转换

CString—>BYTE
CString m_cstr;
BYTE m_byte[100];
m_byte=(BYTE*)m_cstr.GetBuffer(m_cstr.GetLength()); //cstring转BYTE

BYTE----> CString
同理:
m_cstr.format(“%s”,m_byte); //BYTE字符串输出

CString -->char * 多字节转换

CString str1 =_T(“123”);
int len =WideCharToMultiByte(CP_ACP,0,str1,-1,NULL,0,NULL,NULL);
char *ptxtTemp =new char[len +1];
WideCharToMultiByte(CP_ACP,0,str1,-1,ptxtTemp,len,NULL,NULL );

string to CString

CString.format(“%s”,string.c_str());

CString to string

string str(CString.GetBuffer(str.GetLength()));

很多时候,我们可以使用string作为中间过渡值,转换成你想要的数据类型,有些类型是不能直接转换的,需要string去过渡,有了这种方法,任何类型的数据类型,你都可以轻松转换了.

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值