从串口中接受到如下数据包:
#xxx yyyy zzz#
xxx yyy zzz表示有用的数据,比如12 23 212 但每次接受数据不一样
请问如何处理?
我用MScomm控件编程

解决方案 »

  1.   

    该方法可以,我测试过!
    char seps[]   = " #";//注意#前有一个空格
    char *token;
    int j_sign,w_sign,i;
    //该信息格式为『』
    /* Get the first token: */
    token = strtok( strComm, seps );
    i = 0;
    while( token != NULL )
    {
    switch(i)
    {
    case 1:
    ; //你的处理语句
    break;
    case 2:
    ; //你的处理语句
    break;
    case 3:
    ; //你的处理语句
    break;
    }
    i++;
    /* Get next token: */
    token = strtok( NULL, seps );
    }
      

  2.   

    补充一句:每个case下的token字符串为你顺序得到的
      

  3.   

    上面不是说了吗?
    用strtok函数就可以实现了。
      

  4.   

    先找一个例子看看吧。几句话说不清楚。
    如果没有,找我,我给你发一个。
    [email protected]