我现在想要处理一个纯中文字符串,譬如格式XXXXXX,XXXXX,XXXXX我想把这个字符串分别存入数组里面,如何每次读取一个中文字符?或者说如何解决我这个问题?将这一段中文,读到“,”时候存储一个中文字符串。求高手帮帮忙。

解决方案 »

  1.   

    用CString的Find和Mid等函数就能完成
      

  2.   

    知道stl把?很简单的 算法就可以实现
      

  3.   

    用Find 找到“,”的位置,将返回值保存,然后用str::left
      

  4.   

    写了段简单的代码 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);
      

  5.   

    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
      

  6.   

    如果你的字符串是多字节的
    那转成Unicode的就是一次处理一个中文字符了