Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2015737
  • 博文数量: 356
  • 博客积分: 8284
  • 博客等级: 中将
  • 技术积分: 4580
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-15 20:25
个人简介

天行健,君子以自强不息

文章分类

全部博文(356)

文章存档

2018年(1)

2016年(4)

2015年(13)

2014年(14)

2013年(2)

2012年(25)

2011年(43)

2010年(65)

2009年(189)

分类: C/C++

2015-10-23 19:56:01


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include "stdafx.h"

  3. char *psch ="tar : [124.4], real : [434.5], pwm : [-10.1],gdgdfgfg";


  4. float atofxx(char *sch_Data)
  5. {
  6.     int i,j,k;

  7.     return 0.0;
  8. }
  9. int Parse(char *sch_Data,float *pf_value)
  10. {
  11.     int ul_Len;

  12.     CString str,strTmp;
  13.     int a[15],b[15];

  14.     int m = 0;
  15.     int n = 0;

  16.     float f_value[15];

  17.     str = sch_Data;
  18.     ul_Len = strlen(sch_Data);

  19.     for (int i=0; i< ul_Len; i++)
  20.     {
  21.         if ( *(sch_Data + i) == '[')
  22.         {
  23.             a[m++] =i;
  24.         }
  25.     }

  26.     for (int i=0; i<ul_Len; i++)
  27.     {
  28.         if ( *(sch_Data + i) == ']')
  29.         {
  30.             b[n++] =i;
  31.         }
  32.     }
  33.     
  34.     if ( (m == 0) || (n == 0) || (m != n ))
  35.     {
  36.         return 0;
  37.     }


  38.     int k = 0;
  39.     for ( k=0; k<m;k++ )
  40.     {
  41.         
  42.         int x= a[k] + 1;
  43.         int y= b[k] - a[k] - 1;

  44.         strTmp = str.Mid(x,y);
  45.         f_value[k] = atof(strTmp);

  46.         *(pf_value + k ) = f_value[k];
  47.     }

  48.     return k;
  49.     
  50. }

  51. void ParseTest()
  52. {

  53.     float f_v[15];
  54.     int len;

  55.     len = Parse(psch,f_v);

  56. }
协议接收字符串数据,解析出字符串中的浮点数据,浮点数据根据"[" ''']'包含起来,软件解析就是根据中括号作为识别标识解析的。
阅读(2178) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~