CString CFIRSTDlg::GetSystemTime()
{
CTime time=CTime::GetCurrentTime();
CString strtime;
int m=time.GetMinute()+1;
int h=time.GetHour();
int w=time.GetDayOfWeek();
int d=time.GetDay();
int m0=time.GetMonth();
int y=time.GetYear();
    strtime.Format("%d,%d,%d,%d,%d,%d,%d,%d",0,0,m,h,d,w,m0,y);//这句话不对吗、为什么调试会出现
                                                                  {strtime "铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪铪"
CString strtime1;
int k=8,d0=1,t=6,change=129,cot=8;
strtime1.Format("%d,%d,%d,%d,%d,%d,%d,%d",k,d0,t,change,cot,0,0,0);
    strtime1.Insert(18,strtime);还有一个问题 :CString a;
               CString b;
               a=1,2,3,4,5,6;
           可以将b插入a的第二个字符后吗?弄不明白了,求高人..........

解决方案 »

  1.   

    1:Format好像没问题
    2: a=1,2,3,4,5,6;  // 不能这么写吧?
    可以将a从第二个字符处分成前后两段a.Left(2)和a.Right(a.GetLength() - 2);然后 
    CString c = 前段a + b +后段a
      

  2.   

    1 对的啊!
    2 CString tmp = a.Right(a.GetLength() - 2);
    a = a.Left(2)+ b + tmp;
      

  3.   

    2. 找到位置以后,利用CString::Insert();来实现,或者CString::Left() + XX + CString::Mid(..);也是可以的
      

  4.   

    CString CFIRSTDlg::SendUNFixedLength(CString &strData)
    {
        int L= strData.GetLength();
        CString StrNMEAdata1;
        CString StrNMEAdata;
    int a1=104,a2=22;
        char checksum=0,cr=13,ln=10;
        char c1,c2; //2个 半Bype 校验值 
      for(int i=0;i<L;i++)
        checksum = checksum^strData[i];
        c2=checksum & 0x0F; c1=((checksum >> 4) & 0x0F);
        if (c1 < 10) c1+= '0'; else c1 += 'A' - 10;
        if (c2 < 10) c2+= '0'; else c2 += 'A' - 10;
        //加上包头,尾和校验值和回车换行符
        StrNMEAdata1.Format("%d,%d,%d,%d,%d,%d,%d",a1,L,L,a1,c1,c2,a2);
         CString tmp = StrNMEAdata.Right(StrNMEAdata.GetLength() - 4);
       StrNMEAdata =  StrNMEAdata.Left(2)+strData + tmp;
     
      //以下几行程序关不通用,在自己的程序中注意修改
      return StrNMEAdata;}
    这段对不?
      

  5.   

    CString strtime = CTime::GetCurrentTime().Format(_T("%Y-%m-%d %H:%M:%S"));
      

  6.   

    1 你可能用的release调试的吧?改成debug就可以啦2 CString tmp = a.Right(a.GetLength() - 2);
    a = a.Left(2)+ b + tmp;
      

  7.   

    http://blog.csdn.net/cghver/article/details/6599110