CString LPWSTR char *字符串转换

CString LPWSTR



将CString 转换到 LPWSTR转换

方法1

//将string类型转换为LPWSTR字符组类型 
	CString strTime = "2222";
	LPWSTR strLpw = strTime.GetBuffer();
	strTime.ReleaseBuffer();

方法2

CString strTime = "2222";
USES_CONVERSION
LPWSTR strLpw = A2CW(W2A(strTime ));
strTime.ReleaseBuffer();

-----------------------------------------------------------

将LPWSTR 转换到 CString

LPCWSTR lpStr = L"dasdasda"; 
CString str(lpcwStr);

-----------------------------------------------------------

将char * 转换到 CString

方法1

char str[10]  ="123";
CString Cstr = CString(str);

方法2

char str[10] = "123";
CString Cstr = ("%s", str);

-----------------------------------------------------------

将CString 转换到 char *

CString str1 = "dasdsa";
char str[20] = str1.GetBuffer();

-----------------------------------------------------------

TCHAR到 char *转换

TCHAR Tcstr[50];
char cstr[20];
//记录 Tcstr的长度
int lengTcstr = WideCharToMultiByte(CP_ACP, 0, Tcstr, -1, NULL, 0, NULL, NULL);
//开始转换
WideCharToMultiByte(CP_ACP, 0, Tcstr, -1, cstr, lengTcstr , NULL, NULL);

-----------------------------------------------------------

string 到 CString

char cstr[20] = {0};
string sstr = "12345";
strcpy(cstr,sstr.c_str());
CString CSstr = CString(cstr);

-----------------------------------------------------------

CString 到 string

CString csstr = TEXT("你好");
string text= CW2A(csstr.GetString());

-----------------------------------------------------------

CString 初始化

方法1

//直接初始化
CString str1=“dasdadas”;

方法2

//通过构造函数
CString str2(' ',100;//预分配100字节,填充空格

方法3

//加载工程中字符串资源
//IDS_STR 句柄
CString str3;
sr3.LoadString(IDS_STR);

方法4

//使用CString类的成员函数Format初始化
CString str4;
int i=10;
str.Format(“value:%d”,i);

-----------------------------------------------------------

CString 输出

方法1

CString str = "123";
wcout << str.GetString() << endl;

方法2

CString str = "123";
wcout <<(LPCTSTR)str << endl;

方法3

CString str = "123";
wcout << str.GetBuffer() << endl;

-----------------------------------------------------------

LPWSTR输出

LPWSTR是指针 必须指向一片可以修改的内存
CString strTime = "2222";
LPWSTR strLpw = strTime.GetBuffer();
strTime.ReleaseBuffer();
wcout << strLpw << endl;

-----------------------------------------------------------

函数里面需要LPCTSTR 等等的

在这里插入图片描述

一个字符对应1个字节 多字节
中文 一个字符对应多个字节 宽字符 Unicode utf-8 3个 GBK 2个
-----------------------------------------------------------
多字节转为宽字节
L"aaaa"
----------------------------------------------------------
使用TEXT(“你好”) 使用TEXT是自适应编码的转换
TCHER 自使用编码的转换 TCHER (“你好”)
统计多字节长度
int num = 0;
char *p = "aaa";
num = strlen(p);
统计宽字节长度
int num = 0;
wchar_t *p = L"bbb";
num = wcslen(p);

-----------------------------------------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值