没人会吗?是否与我的bufformat的内容是汉字有关MSDN:
CString str("This is a test.");
int n = str.Remove('t');
ASSERT(n == 2);
ASSERT(str == "This is a es.");

解决方案 »

  1.   

    char cc[100];
    CString str("册\r\n册");
    sprintf(cc, "%s", str); str.Remove('\r');
    sprintf(cc, "%s", str);//cc is {78, 31, 10, 78, 78} now
                                    //it should be {78, 31, 10, 78, 31} str.Remove('\n');
    sprintf(cc, "%s", str);确实CString::Remove()在处理的时候出问题了
      

  2.   

    可以用:
    str.Delete(str.Find('\r'));
    str.Delete(str.Find('\n'));我试过了,没问题。至于为什么会这样我也不清楚。
      

  3.   

    bufformat.Delete(str.Find('\r'));
    bufformat.Delete(str.Find('\n'));
      

  4.   

    以下代码你可以照抄,肯定好用的。bufformat.Delete(bufformat.Find('\r'));
    bufformat.Delete(bufformat.Find('\n'));
      

  5.   

       一个汉字当然占两个字节了,上面的问题主要是unicode的问题,可以用 _T() 转换宏来试试。