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

首頁 > 編程 > C++ > 正文

C語言數組按協議存儲與按協議解析數據的實現

2020-05-23 13:24:38
字體:
來源:轉載
供稿:網友

協議需求:

  • (1)序列號(1個字節) 屬性(1個字節) 名稱(18個字節)
  • (2)現有一塊空間為600個字節,以20個字節為單位,分別存儲以上數據,直到存滿為止,并能解析。

根據協議,我們可以設計一個結構體來表述這些數據:

struct Data_Info{ char serial_num ;  //序列號  char property ;  //屬性  char sample_name[18]; //分類名稱 };

恰恰在做嵌入式開發或者有關協議的開發就會要求類似這樣的需求,我們可以寫一個簡單的C程序模擬一下這個過程:

首先,模擬一堆已經定義好的數據,用來表示Data_Info里的分類名稱:

char *name[] = { "水果", "蔬菜", "啤酒", "酒精", "柴油", "娃哈哈", "奶茶", "雪碧", "可樂", "硫酸", "鹽酸", "硝酸" };

接下來,寫一個函數,用于隨機初始化一塊600個字節的內存空間,初始化600個字節中,以每20個字節為單位,分別按協議的要求初始化序列號、屬性、名稱。

//創建樣本庫數據 void Create_Simple_Data(char *_data){ int i ; int count_num = 1 ; for(i = 0 ; i < 600 ; i++) { if(i % 20 == 0) {  _data[i] = count_num ;  _data[i+1] = rand()%2 ;  memcpy(_data+i+2,name[rand()%7],18);  count_num++ ; }  }}

輸出數據的函數,用于輸出600個字節里的數據,按協議進行解析。

//輸出樣本庫信息 void Put_Simple_Data(char *_data){ int offset_start = 0 , count = 0 , end_position = 0 ; int end_position_save = 0 ; int count_number = 0 ; count_number = 0 ; for(offset_start = 0 , count = 0 ; / offset_start < 600 ;  / offset_start++ ,count++) / {  //每20個字節為單位  if(count == 20)  {   //1.記錄起始地址  end_position = offset_start ;  //2.以20個字節作為分割點,分割數據   sample_data_info[count_number].serial_num = _data[end_position-20] ;  //20*n+0為庫的編號  sample_data_info[count_number].property  = _data[end_position-19] ;  //20*n+1為庫的屬性  memset(sample_data_info[count_number].sample_name,0,18);      memcpy(sample_data_info[count_number].sample_name,(_data+2)+(20*count_number),18); //20*n+2....20*n+2+18為庫的名稱   printf("編號:%d  屬性:%d  名稱:%s/n",sample_data_info[count_number].serial_num,sample_data_info[count_number].property,sample_data_info[count_number].sample_name);  //記錄有多少個20  count_number++ ;  //將當前的計數清0   count = 0 ;    } }}

主函數中,主要工作是開辟一塊600字節的內存空間用于存儲,并調用以上的函數實現功能:

int main (void) { char *_data = NULL ; _data = malloc(600); Create_Simple_Data(_data); Put_Simple_Data(_data); free(_data); _data = NULL ;  return 0;}

運行結果:

C語言,數組,協議存儲,協議解析數據

在內存足夠大的情況下,這無疑是非常好的方法,既簡單又粗暴,但在單片機的程序上,可能無法一次性分配如此大的,比如Ucos,一個棧的分配有限,現在,又如何來實現這樣的協議呢?不建議把棧改大,因為單片機沒有虛擬內存管理機制,如果當前的任務改大了,其余的也就相對的要變小了。開動腦筋吧!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美另类国产| 欧美日韩视频在线| 久久69精品久久久久久久电影好| 亚洲第一天堂无码专区| 欧洲永久精品大片ww免费漫画| 亚洲视频在线免费看| 激情成人在线视频| 久久久久久久激情视频| 57pao成人国产永久免费| 亚洲免费视频观看| 日本韩国在线不卡| 日韩精品中文字幕在线观看| 欧美激情第一页xxx| 91日本视频在线| 精品国产依人香蕉在线精品| 黑人极品videos精品欧美裸| 国产亚洲精品成人av久久ww| 国产91精品青草社区| 欧美在线视频a| 成人亚洲综合色就1024| 亚洲精品成人久久电影| 亚洲欧美日韩精品久久奇米色影视| 久久久国产视频| 久久久久中文字幕| 精品女同一区二区三区在线播放| 欧美国产亚洲视频| 亚洲男人的天堂在线| 韩国国内大量揄拍精品视频| 日韩视频在线观看免费| 国产精品电影在线观看| 日韩欧美精品中文字幕| 亚洲精品国偷自产在线99热| 精品无人区太爽高潮在线播放| 91国偷自产一区二区三区的观看方式| 欧美高清视频一区二区| 国产精品亚洲片夜色在线| 大胆人体色综合| 欧美大片欧美激情性色a∨久久| 精品国产乱码久久久久酒店| 热草久综合在线| 欧美黑人xxxx| 国产在线久久久| 91九色精品视频| 国产狼人综合免费视频| 97人人做人人爱| 日韩一区二区三区xxxx| 久久综合国产精品台湾中文娱乐网| 国内精品久久久| 久久人人爽人人爽人人片亚洲| 国产免费一区视频观看免费| 狠狠色香婷婷久久亚洲精品| 国产精品99蜜臀久久不卡二区| 欧美性受xxxx白人性爽| 91久久精品美女高潮| 一区二区亚洲精品国产| 国产精品美女在线观看| 久久久黄色av| 国产精品一区专区欧美日韩| 日本成人精品在线| 97人人爽人人喊人人模波多| 亚洲白拍色综合图区| 91精品国产一区| 欧美激情视频网| 国产日韩精品在线观看| 亚洲精品wwww| 日韩黄在线观看| 韩国精品久久久999| 中文字幕亚洲综合久久| 26uuu另类亚洲欧美日本一| 日韩av高清不卡| 国产日韩欧美在线| 欧美在线观看视频| 欧美国产日韩xxxxx| 日韩精品有码在线观看| 国产亚洲欧洲黄色| 91在线精品播放| 国产精品成人在线| 欧美极度另类性三渗透| 高清日韩电视剧大全免费播放在线观看| 91伊人影院在线播放| 国产91ⅴ在线精品免费观看| 美女999久久久精品视频| 91av在线精品| 亚洲网在线观看| 在线观看精品自拍私拍| 日本国产精品视频| 国产视频自拍一区| 日韩精品亚洲元码| 亚洲毛片在线看| 国产精品揄拍一区二区| 欧美在线观看一区二区三区| 久久中文字幕视频| 日韩黄色高清视频| 亚洲图片欧美午夜| 欧美日韩国产页| 亚洲91av视频| 成人美女免费网站视频| 成人国产精品久久久久久亚洲| 欧美黑人巨大精品一区二区| 亚洲免费视频一区二区| 中文字幕日韩欧美| 国产一区二区三区日韩欧美| 久久久久久一区二区三区| 日韩免费观看av| 91色p视频在线| 国产主播在线一区| 亚洲国模精品私拍| 国产精品高潮呻吟视频| 久久视频中文字幕| 亚洲国产成人在线播放| 成人疯狂猛交xxx| 欧美性猛交丰臀xxxxx网站| 性欧美办公室18xxxxhd| 国产精品一区二区电影| 中文字幕视频一区二区在线有码| 久久国产视频网站| 国产成人精品日本亚洲专区61| 久久成人18免费网站| 国自在线精品视频| 亚洲最大福利视频网站| 大胆欧美人体视频| 中文字幕日韩精品有码视频| 92看片淫黄大片欧美看国产片| 欧美激情视频免费观看| 久久久久免费视频| 激情亚洲一区二区三区四区| 日韩国产中文字幕| 国产亚洲精品久久久久久777| 久久久久成人精品| 亚洲最大的成人网| 国产精品一区二区三区久久久| 国产手机视频精品| 国产精品美女免费看| 亚洲风情亚aⅴ在线发布| 日本老师69xxx| 91精品国产99| 136fldh精品导航福利| 国产一区二区三区在线免费观看| 欧美成人激情图片网| 欧美体内谢she精2性欧美| 日韩久久免费视频| 国内外成人免费激情在线视频| 日本精品va在线观看| 国产精品一区二区三区免费视频| 久久艹在线视频| 久久乐国产精品| 亚洲福利视频在线| 欧美一区二粉嫩精品国产一线天| 国产美女久久精品香蕉69| 亚洲成人1234| 亚洲欧美一区二区激情| 欧美一区二粉嫩精品国产一线天| 91亚洲精品视频| 国内精品小视频在线观看| 热99精品只有里视频精品| 亚洲精品久久久久久下一站| 亚洲一区二区福利| 亚洲美女中文字幕| 欧美高清不卡在线| 久久香蕉国产线看观看网| 欧美成人精品在线视频| 日本欧美爱爱爱| 日本亚洲欧美成人| 日本一区二区三区四区视频|