如 CString str = "钢卷 号码";
  str.Remove(' ');
  之后变成了 "钢卷汉侣"
  求大侠解惑

解决方案 »

  1.   

    对汉字转成ANSI字符, 然后操作.
      

  2.   

    可以试试sprintf,当' '时不操作,其他都print过去。
      

  3.   

    先Find
    返回位置
    然后再
    delete
      

  4.   

    CString::Replaceint Replace( TCHAR chOld, TCHAR chNew );
    int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );返回值:返回被替换的字符数。如果这个字符串没有改变则返回零。参数: chOld 要被chNew替换的字符。  
    chNew 要用来替换chOld的字符。  
    lpszOld 一个指向字符串的指针,该字符串包含了要被lpszNew替换的字符。  
    lpszNew 一个指向字符串的指针,该字符串包含了要用来替换lpszOld的字符。  说明:
    此成员函数用一个字符替换另一个字符。函数的第一个原形在字符串中用chNew现场替换chOld。函数的第二个原形用lpszNew指定的字符串替换lpszOld指定的子串。
    在替换之后,该字符串有可能增长或缩短;那是因为lpszNew和lpszOld的长度不需要是相等的。两种版本形式都进行区分大小写的匹配。示例:
    // 第一个例子,old 和new具有相同的长度。
    CString strZap( "C--" );
    int n = strZap.Replace('-', '+' );
    ASSERT( n == 2 );
    ASSERT(strZap == "C++" );
    // 第二个例子,old和new具有不同的长度。
    CString strBang("Everybody likes ice hockey");
    n = strBang.Replace( "hockey", "golf" );
    ASSERT( n == 1 )
    n = strBang.Replace ( "likes" , "plays" );
    ASSERT( n == 1 )
    n = strBang.Replace( "ice", NULL );
    ASSERT( n == 1 )
    ASSERT( strBang == "Everybody plays golf" )
    // 注意,现在在你的句子中有了一个额外的空格。
    // 要移走这个额外的空格,可以将它包括在要被替换的字符串中,例如,“ice”。
      

  5.   

    感谢大家!
    用Replace(" ","") 即可解决