char buf[128];
memset(buf,0,128);
memcpy(buf  ,"第一条测试信息",14 ); buf[14] = 13;
buf[15] = 10;
memcpy(buf + 16 ,"第二条测试信息",14 );
得到类似上面内容的数组,我要把当中的回车换行符去掉,请问该怎么做?
有什么比较方便的办法?

解决方案 »

  1.   

    判断ASCII是10、13就将后面的字符移上来。
      

  2.   

    谢谢
    我写了下面的函数,我简单试了一下可以去掉,不知道这样做可以吗?
    void fnTest(char *c)
    {
    int  iLen = strlen( c );
    for( int iPos=0 ; iPos<iLen ; iPos++ )
    {
    if( c[iPos]==10 || c[iPos]==13)
    {
    //将后面的上移
    for( int i=iPos ; i<iLen ; i++ )
    {
    c[i] = c[i+1];
    }
    iPos--; //退回一位
    } }
    }
      

  3.   

    最简单位的方法
    CString str;
    str.Format("%s",buf);
    str.Replace("","\r\n");