关于中文字符串分割读取 我现在想要处理一个纯中文字符串,譬如格式XXXXXX,XXXXX,XXXXX我想把这个字符串分别存入数组里面,如何每次读取一个中文字符?或者说如何解决我这个问题?将这一段中文,读到“,”时候存储一个中文字符串。求高手帮帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用CString的Find和Mid等函数就能完成 知道stl把?很简单的 算法就可以实现 用Find 找到“,”的位置,将返回值保存,然后用str::left 写了段简单的代码 CString allStr = "早安,你好,谢谢,再见"; CString str[10];//存放分割的内容,数组定义的足够大 int i=0; int iStart=0,iEnd=0; while((iEnd=allStr.Find(",",iStart))>=0) { str[i]=allStr.Mid(iStart,iEnd-iStart); iStart = iEnd+strlen(","); i++; } if(iStart<(allStr.GetLength()-strlen(","))) str[i] = allStr.Mid(iStart); char* sm[MAX_SUBSTR], **pb = sm; do { *pb++ = pStr; pStr = strchr(pStr,','); if(pStr) *pStr++ = 0; }while(pStr);这是分割代码,pStr指向串,结果在sm[MAX_SUBSTR]里面。这个是我以前的贴,大家讨论了很多。http://topic.csdn.net/u/20110218/12/e039e736-ca2f-4168-b06a-14d386d511c5.html 如果你的字符串是多字节的那转成Unicode的就是一次处理一个中文字符了 vc下怎样用odac?旷世难题,高手请进 如何在OnOpenDocument中使用CFileDialog 枚举本进程内所有线程,并获得handle,能想到几种方法? 请问如何在dialog中将位图bitmap1在一定的位置显示出来,然后将它撤掉,再原来位置上换上位图bitmap2,请问代码该如何写? 请老王近来领分 求从CScrollbar派生出的CMyScrollbar的自绘方法。 请教一个vc编译的问题!!! vc用ado连接access数据库的问题,请指教 关于WaitForMultipleObjects用法的困惑,谢谢 解决重画的问题 两个类的关联 设置编辑框的ReadOnly属性
CString str[10];//存放分割的内容,数组定义的足够大
int i=0;
int iStart=0,iEnd=0;
while((iEnd=allStr.Find(",",iStart))>=0)
{
str[i]=allStr.Mid(iStart,iEnd-iStart);
iStart = iEnd+strlen(",");
i++;
} if(iStart<(allStr.GetLength()-strlen(",")))
str[i] = allStr.Mid(iStart);
do
{
*pb++ = pStr;
pStr = strchr(pStr,',');
if(pStr)
*pStr++ = 0;
}while(pStr);这是分割代码,pStr指向串,结果在sm[MAX_SUBSTR]里面。这个是我以前的贴,大家讨论了很多。
http://topic.csdn.net/u/20110218/12/e039e736-ca2f-4168-b06a-14d386d511c5.html
那转成Unicode的就是一次处理一个中文字符了