国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言根據協議分割獲取字符串單元的實現代碼

2020-01-26 13:37:23
字體:
來源:轉載
供稿:網友

協議做如下規定:

規定數據協議:

序列號    長度   狀態字   數據長度  數據1  數據2   數據3

以空格作為數據單元。                        

ep:  

00001 00007 1 3  34567 26358 32698   (1)  (2) (3)(4) (5)  (6)  (7)

如ep所示:

(1)00001就是數字1,即代表序列號為1(2)00007就是數字7,即代表長度為7(3)1代表狀態字(4)3代表數字長度(5)34567代表數據1(6)26358代表數據2(7)32698代表數據3

這樣就找到規律了,假設數據都為整型或者負整型,我們就可以來實現以下代碼:

#include <stdio.h>#include <stdlib.h>#include <string.h>//根據空格拆分字符串 int partition(char *src, char *par, int pos){ int i,j; i = pos; //取得一個非空字符  while(src[i] == ' ')  ++i; if(src[i] != '/0') {  j = 0;  while((src[i] != '/0') && (src[i] != ' '))  {   //判斷條件是否滿足  if((src[i] > '9') || (src[i] < '0') && (src[i] != '-'))  return -1 ;   par[j] = src[i];   ++i;   ++j;  }  par[j]='/0';  return i; } else  return -1;}int main(void){ int serial_number ; int lenght ; int status ; int data_length; int data1,data2,data3;  int position = 0; int para_flag = 1 ;  int parameter_item = 0; char partition_string[20] = {0}; char *data = "00001 00007 1 3 34567 26358 32698";  while(para_flag) { if(para_flag == 0)  break ;  if((position = partition(data,partition_string,position)) != -1) {  ++parameter_item ;  switch(parameter_item)  {  case 1:   serial_number = atoi(partition_string);   break ;  case 2:   lenght = atoi(partition_string);   break ;  case 3:   status = atoi(partition_string);    break ;  case 4:   data_length = atoi(partition_string);    break ;  case 5:   data1 = atoi(partition_string);    break ;  case 6:   data2 = atoi(partition_string);    break ;  case 7:    data3 = atoi(partition_string);    para_flag = 0 ;   break ;  } } } printf("序號:%d/n",serial_number); printf("長度:%d/n",lenght); printf("狀態字:%d/n",status); printf("數據長度:%d/n",data_length); printf("數據1:%d/n",data1); printf("數據2:%d/n",data2); printf("數據3:%d/n",data3); return 0; } 

運行結果:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 开封县| 湟源县| 周至县| 青海省| 隆林| 广平县| 西和县| 安义县| 子洲县| 龙胜| 奎屯市| 神农架林区| 黑龙江省| 北京市| 昭苏县| 巢湖市| 沙田区| 宿松县| 敦煌市| 来安县| 东乡族自治县| 邻水| 福贡县| 红原县| 阳朔县| 高尔夫| 大安市| 昌图县| 界首市| 邢台市| 固原市| 麻栗坡县| 象州县| 太康县| 乌鲁木齐市| 平陆县| 萍乡市| 南陵县| 将乐县| 鄂托克旗| 双牌县|