亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

基于C語言指令的深入分析

2020-01-26 16:07:36
字體:
來源:轉載
供稿:網友
這雖然只是指令解析的一部分,但這是最核心部分。完整指令為:AT+REG[admin][2][00:0C:29:AA:0B:A7]。
/****************************************************************
 **文件:GetParameters.c
 **簡要描述:指令解析
 **注:1.這種情況下“AT+ABC[ha12ha[1122]”--即中間少了一個], 則解析的結果為ha12ha[1122。
        2.默認參數的大小不超過20字節
        3.最多解析三個參數。
        4.指令結尾必須為空即'/0'或'/n'。
 ***************************************************************/
 
復制代碼 代碼如下:

#include <stdio.h>
#include <string.h>
//保存參數的結構體
typedef struct parameters
{
 char str1[20];  //第一個參數
 char str2[20];  //第二個參數
 char str3[20];  //第三個參數
}parameters_t;
 
/***** 獲取參數 **********************************************/
//返回值為獲取參數的個數,-1表示指令錯誤
int Getparams(char* data, parameters_t* pparam)

{
 int len = 0;
 memset(pparam, 0, sizeof(parameters_t));

 //第一個參數
 {
  //如果為空或換行,則說明沒有參數
  if( 0 == *data || '/n' == *data)
  {
   _ERROR("no parameter!");
   return 0;
  }
  //如果為'['字符,則說明后面還有參數
  if( strncmp(data, "[", 1) )
  {
   _ERROR("first parameter err:  can't find '['");
   return -1;
  }
  data += 1;
  //如果'['后有']'結束字符,則說明參數有效
  if( !strstr(data, "]") )
  {
   _ERROR("first parameter err:  can't find ']'");
   return -1;
  }
  //得到第一個參數的長度
  len = strstr(data, "]") - data;
  if(20 <= len)
  {
   _ERROR("param one is too long!");
   return -1;
  }
  //得到第一個參數
  strncpy(pparam->str1, data, len);
  //printf("str1 : %s/n", pparam->str1);
 }

 //第二個參數
 {
  data += (len + 1);
  //如果為空,則說明只有一個參數
  if( 0 == *data || '/n' == *data)
  {
   //printf("only one parameter!/n");
   return 1;
  }
  //如果為'['字符,則說明后面還有參數
  if( strncmp(data, "[", 1) )
  {
   _ERROR("second parameter err:  can't find '['");
   return -1;
  }
  data += 1;
  //如果'['后有']'結束字符,則說明參數有效
  if( !strstr(data, "]") )
  {
   _ERROR("second parameter err:  can't find ']'");
   return -1;
  }
  len = strstr(data, "]") - data;
  if(20 <= len)
  {
   _ERROR("param two is too long!");
   return -1;
  } 
  //得到第二個參數
  strncpy(pparam->str2, data, len);
  //printf("str2 : %s/n", pparam->str2);
 }

 //第三個參數
 {
  data += (len + 1);
  if( 0 == *data || '/n' == *data)
  {
   //printf("only two parameter!/n");
   return 2;
  }
  if( strncmp(data, "[", 1) )
  {
   _ERROR("third parameter err:  can't find '['");
   return -1;
  }
  data += 1;
  if( !strstr(data, "]") )
  {
   _ERROR("third parameter err:  can't find ']'");
   return -1;
  }
  len = strstr(data, "]") - data;
  if(20 <= len)
  {
   _ERROR("param three is too long!");
   return -1;
  } 
  strncpy(pparam->str3, data, len);
  //printf("str3 : %s/n", pparam->str3);
 }

 data += (len + 1);
 if( 0 != *data && '/n' != *data)
 {
  _ERROR("too much parameter!");
  return -1;
 } 

 return 3;
}
 

這就是指令(字符串)解析,目的是獲取參數.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲欧洲高清| 国产精品999999| 国产精品video| 91久久在线播放| 亚洲偷熟乱区亚洲香蕉av| 国产精品永久免费观看| 国产婷婷成人久久av免费高清| 精品中文字幕乱| 日韩中文在线中文网三级| 日本久久中文字幕| 成人网在线免费观看| 欧美日本啪啪无遮挡网站| 国产一区二区三区在线看| 国产精品电影久久久久电影网| 国产免费久久av| 国产成人精品免高潮在线观看| 亚洲第一色中文字幕| 国产精品第1页| 成人免费观看网址| 欧美亚洲成人免费| 亚洲欧美在线一区二区| 成人免费视频网| 亚洲精品永久免费| 91精品国产高清自在线| 久久综合88中文色鬼| 色噜噜久久综合伊人一本| 亚洲欧美一区二区三区四区| 国产精品九九久久久久久久| 亚洲欧美制服中文字幕| 久久国产精品电影| 欧美成人性色生活仑片| 亚洲韩国欧洲国产日产av| 久久精品在线视频| 最新国产精品亚洲| 一区二区三区视频免费在线观看| 亚洲欧美在线磁力| 九色91av视频| 国产视频久久久久| 中文字幕日韩av| 日韩精品一二三四区| 亚洲欧美变态国产另类| 久久久久免费精品国产| 红桃视频成人在线观看| 亚洲а∨天堂久久精品9966| 久久视频在线看| 精品视频偷偷看在线观看| 久久不射热爱视频精品| 欧美日韩在线看| 中文字幕精品一区久久久久| 午夜精品蜜臀一区二区三区免费| 国产精品尤物福利片在线观看| 久久久噜噜噜久久| 欧美成人中文字幕在线| 日韩国产高清视频在线| 亚洲精品久久久久久久久| 91手机视频在线观看| 亚洲女人被黑人巨大进入al| 久久久久国色av免费观看性色| 亚洲在线免费视频| 午夜精品久久久久久久男人的天堂| 最新69国产成人精品视频免费| 久久久成人的性感天堂| 亚洲人a成www在线影院| 精品国产乱码久久久久久天美| 亚洲人成在线免费观看| 欧美精品日韩www.p站| 琪琪亚洲精品午夜在线| 国产成人亚洲综合| 成人免费视频在线观看超级碰| 亚洲精选一区二区| 68精品久久久久久欧美| 少妇av一区二区三区| 欧美精品一区二区三区国产精品| 91成人在线播放| 国产欧美精品一区二区| 国产欧美日韩91| 91精品国产高清久久久久久| 久久亚洲国产精品成人av秋霞| 国产日韩欧美黄色| 亚洲国产精品热久久| 久久免费视频这里只有精品| 亚洲网址你懂得| 亚洲精品第一国产综合精品| 中文字幕av日韩| 国产成人精品久久二区二区| 久久久av亚洲男天堂| 国产色婷婷国产综合在线理论片a| 中文字幕成人在线| 26uuu亚洲伊人春色| 三级精品视频久久久久| 国产精品美女无圣光视频| 日本精品久久中文字幕佐佐木| 午夜伦理精品一区| 国产成人精品视频在线观看| 日韩视频欧美视频| 亚州欧美日韩中文视频| 日韩精品视频免费专区在线播放| 亚洲一区二区久久久久久久| 97国产精品人人爽人人做| 日韩中文在线中文网三级| 日韩动漫免费观看电视剧高清| 国产综合香蕉五月婷在线| 黑人精品xxx一区| 最近2019中文免费高清视频观看www99| 久国内精品在线| 国产在线精品成人一区二区三区| 国产日韩欧美中文在线播放| 日韩黄色av网站| 91丨九色丨国产在线| 91福利视频在线观看| 国产美女久久精品香蕉69| 欧美亚洲在线播放| 亚洲国产毛片完整版| 国产一区二区成人| 欧美性色xo影院| 欧美精品videosex牲欧美| 久久99久久99精品免观看粉嫩| 欧美性猛交xxxxx免费看| 日韩av在线电影网| 日韩**中文字幕毛片| 国产99久久久欧美黑人| 久久精品视频中文字幕| 免费成人高清视频| 欧美性理论片在线观看片免费| 91久久精品国产91久久| 韩国国内大量揄拍精品视频| 久久精品国产欧美亚洲人人爽| 亚洲精品美女久久久久| 久久影视电视剧免费网站清宫辞电视| 日产精品久久久一区二区福利| 欧美一级片久久久久久久| 韩剧1988免费观看全集| 91精品视频大全| 欧美成人三级视频网站| 亚洲性日韩精品一区二区| 久久精品国产99国产精品澳门| 亚洲国产成人在线播放| 91在线视频精品| 色无极亚洲影院| 91精品国产综合久久香蕉| 国产精品嫩草影院一区二区| 亚洲精品美女视频| 黑人巨大精品欧美一区二区| 国产精品va在线播放我和闺蜜| 久久久伊人日本| 国产精品亚洲欧美导航| 亚洲第一天堂av| 欧美疯狂xxxx大交乱88av| 国产精品久久久久久久久粉嫩av| 国产精品6699| 国外成人免费在线播放| 亚洲第一视频在线观看| 日韩亚洲精品视频| 岛国视频午夜一区免费在线观看| 色综合久久天天综线观看| 成人在线视频网站| 中文字幕国产亚洲| 日韩人在线观看| 国产精品va在线播放| 欧美黑人性视频| 国内精品久久久久影院 日本资源| 国产精品网红直播| 亚洲精品成人久久久| 美女av一区二区|