用MFC建立了一个对话框,在对话框上有个按钮,点击按钮,会出现一个文本edit对话框,现在的麻烦是:在文本edit里面输入一长串字符,有些中间有空格键,ok了后把这个Csting怎么以空格为区别,分别赋给数组.比如“ welcome 23 good 84 ”->a[i]. a[0]="welcome"……。

解决方案 »

  1.   


    int SplitStringBy(CString str, CString strTok, CStringArray& ary)
    {
    if (str.IsEmpty())
    return 0;

    char* string = str.GetBuffer(1024);
    char *token;
    token = strtok( string, strTok );
    while( token != NULL )
    {
    ary.Add(token);
    token = strtok( NULL, strTok );
    }
    str.ReleaseBuffer();
    return ary.GetSize();
    }SplitStringBy("welcome 23 good 84", " ", ary)
      

  2.   

    sandyandy,这个函数中str,strTok,ary这三个参数……,str中间有好几个空格,还有把每两个空格中间的字符给一个数组,“ 23 32”,要a[i]="23",a[i+1]="32"……,你给我的这个函数有点没看懂,
      

  3.   

    你可以利用CString类中的Find函数
    例如:CString str="The stars are aligned";
         int n = str.Find("e",5);//n=12
    具体的Find函数你看看MSDN上吧。
    然后再利用楼上的给的代码把CString转化成字符数组,利用n进行操作