把字符串一个个读入,判断是汉字还是数字,根据:来截断
Find()
Mid()

解决方案 »

  1.   

    空格和数字都占一个字节,而且首位是0(ASCII码小于128)汉字占两个字节,首位应该不是0我没做过,你试试看。
      

  2.   

    参见我的blog:http://blog.csdn.net/bobob
      

  3.   

    在手机中这三种格式都算一个字符 (不对,汉字不会是一个字符。手机里头的是UTF-8编码)
    我如何做到把他们的字符长度统一 (不用,转成UTF-8编码,发给手机就行了)
      

  4.   

    先转化为宽字符: CString strContent = "123a 你的字符串";
    BSTR bstrText = strContent.AllocSysString(); int nMaxLen = 70;
    int nCount = wcslen(bstrText);
    if (nCount <= nMaxLen)
    ;// 直接发送;
    else
    ;// 如果大于70分几次拆开,再发送; SysFreeString(bstrText);
      

  5.   

    Atomictry(天影) 兄完全理解我的意思了
     bobob(静思--潜心研究PDF) 也多谢你帮忙天影兄,能否继续教我如何拆分BSTR bstrText这样的字符串呢,cstring 可以用 Mid方法,这个呢??
      

  6.   

    BSTR  怎么转换成 char[] 呢??
      

  7.   

    char p[];
    CString m_ss=bstrVal;strcpy(p,m_ss);
      

  8.   

    BSTR  怎么转换成 char[] 呢??
    BSTR bstrstr=L"aaa";
    CString str(bstrstr);
      

  9.   

    天影兄, bobob(静思--潜心研究PDF),能否继续教我如何拆分BSTR bstrText这样的字符串呢
      

  10.   

    CString strNewContent;
    CString strContent = "123a 你的字符串";
    BSTR bstrText = strContent.AllocSysString();int nMaxLen = 70;
    int nCount = wcslen(bstrText);
    if (nCount <= nMaxLen)
    ;// 直接发送;
    else {
        ;// 如果大于70分几次拆开,再发送;    ;// 此处我把大于70之外的字符都截去了,其他你可以类推。
        bstrText = ::SysAllocStringLen( bstrText, nMaxLen );    ;// 如果你想把处理过的字符转换成CString继续处理
        CString str(bstrText);
        TRACE(str);
    }
    SysFreeString(bstrText);
      

  11.   

    使用宽字符集.
    其实不用转换也可以.直接使用PreNextChar等函数处理
      

  12.   

    还有,为什么我一调用SysFreeString(bstrText);
    程序就要出错??