cstring如何得到字符串的第N个字符? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString s;s.GetAt(n);你想要的那个字符 CString str=_T("12");TCHAR ch;ch = str[0];ch = str.GetAt(1); 如何转化为字符串了,我用下面的不行啊,CString str1; str1.Format("%c",m_lr.GetAt(1)); MessageBox(str1);另外汉字如何得到了?谢谢 我知道如何得到了,但是汉字却不行,总是弹出问号,我该怎么办啊?int len=strlen(m_lr); CString str1; str1.Format("%c",m_lr.GetAt(len-1)); MessageBox(str1); 汉字是双字符集,要显示就两半一起来,最好先转换成UNICODE CString sStr="abcdef";CString sSub=s[0];MessageBox(sSub); 获得汉字需要了解该汉字的编码。gb2312编码,unicode编码中汉字都为2个字节编码,不过gb2312编码中汉字字节都大于127,即8位字节中首位为1,所以很容易和英文字符区别。而unicode的判断就麻烦点,需要先将其转换为gb2312编码,然后再判断。编译器中默认都是gb2312编码,获取字符串中的汉字就取以奇数个大于128的字节开始的字符 获取以下字符串的第5个字符,即中文“明”CString s="abc小明";CString sResult;LPCTSTR p=s;int n=0;while(*p){ if(*p>=0x80) p++;//过滤汉字半字节n++;if(n==5){//找到第5个字符,以p开始的字符串指针 sResult=p; return ;}p++;} 怎么转UNICODE了?LPCSTR lpa = "Hello,你好"; size_t aLen = strlen( lpa ) + 1; int wLen = MultiByteToWideChar( CP_ACP, 0, lpa, aLen, NULL, 0); LPOLESTR lpw = new WCHAR [wLen]; MultiByteToWideChar( CP_ACP, 0, lpa, aLen, lpw, wLen); ... ... ... ... delete [] lpw; 多任务处理项目咨询 关于位图背景的问题 短连接的服务端开发,如何主动断开AcceptEx产生的连接,然后重利用? 散分!什么时候中国会有大牛的公司? GDR+中,对颜色的定义用什么封装? 如何在VC中的录音程序中调节录音音量,急 MSN的取消登陆是如何实现的? 如何调试定时器部分的程序? 求教!MFC 学生信息管理系统总是出错 怎样备份和恢复注册表中的一个主键及其下面的子树? 求救:控件id无法修改的问题!!! 如何使CListCtrl不能输入相同的行?
s.GetAt(n);你想要的那个字符
ch = str[0];ch = str.GetAt(1);
CString str1;
str1.Format("%c",m_lr.GetAt(1));
MessageBox(str1);另外汉字如何得到了?谢谢
CString str1;
str1.Format("%c",m_lr.GetAt(len-1));
MessageBox(str1);
CString sSub=s[0];
MessageBox(sSub);
编译器中默认都是gb2312编码,获取字符串中的汉字就取以奇数个大于128的字节开始的字符
CString s="abc小明";
CString sResult;
LPCTSTR p=s;
int n=0;
while(*p)
{
if(*p>=0x80)
p++;//过滤汉字半字节
n++;
if(n==5)
{//找到第5个字符,以p开始的字符串指针
sResult=p;
return ;
}
p++;
}
size_t aLen = strlen( lpa ) + 1;
int wLen = MultiByteToWideChar(
CP_ACP,
0,
lpa,
aLen,
NULL,
0);
LPOLESTR lpw = new WCHAR [wLen];
MultiByteToWideChar(
CP_ACP,
0,
lpa,
aLen,
lpw,
wLen);
... ... ... ...
delete [] lpw;