char str="甲乙丙丁戊己庚辛";CString ss = str;
CString strsplt[8];
for (i=0;i<ss.GetLength;i+=2)
{
  strsplt[i/2] = ss.Mid ( i,2);
}

解决方案 »

  1.   

    CString 有取得第几个元素的方法
      

  2.   

    你可以查查msdn,我记得是getat
      

  3.   

    sorry,题目错了;应该是这样:有一字符串“甲乙丙丁戊己庚辛”;请问如何拆分它们,成为;
    char *str="甲乙丙丁戊己庚辛";
    char str1,str2,........str8;
    str1="甲";
    str2="乙",
    str3="丙",
    str4="丁",
    .
    .
    .
    str8="辛";
    急,请弟兄们帮忙。
    刚才,这位兄弟的方法我试过,出现下面错误:
    error C2440: 'initializing' : cannot convert from 'char [17]' to 'char';
    所以应该是char str[]或 char * str;
      

  4.   

    你把str1定义成char,而"甲"是字符串,当然有问题啦
    我猜你碰到的问题是由于汉字是双字节的,其实关键是要知道每个汉字有两个字节构成,而这两个字节对应的ASCII码都大于128的。(我们平时用的所有单字节字符的ASCII码是小于128)
      

  5.   

    首先,你要确定你的环境是UNICODE,否则上述要求不能实现,因为char的长度是一个字节。
    也就是说,你要如下定义才可以:char *s="甲乙丙丁戊己庚辛";
    WCHAR s1,s2,s3,s4,s5,s6,s7,s8;
    int i;for (i=0;i<8;i+=2)
    {
      memcpy(&s1,&s[i], 2);
    }
      

  6.   

    对不起,有错误,纠正如下:首先,你要确定你的环境是UNICODE,否则上述要求不能实现,因为char的长度是一个字节。
    也就是说,你要如下定义才可以:char *s="甲乙丙丁戊己庚辛";
    WCHAR ws[8];
    int i;for (i=0;i<8;i+=2)
    {
      memcpy(&ws[i],&s[i], 2);
    }