<强>协议做如下规定:强>
规定数据协议:
序列号,,长度,状态字,数据长度,数据1,数据2,数据3
以空格作为数据单元只,,,,,,,,,,,,
<强> ep:,, 强>
34567 26358 32698 00001 00007 1 - 3 (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 & lt; stdio.h> # include & lt; stdlib.h> # include & lt; string.h>//根据空格拆分字符串 int分区(char * src, char * par, int pos) { int i, j。 我=pos;//取得一个非空字符 而(src[我]==') + +我; 如果(src[我]!=' \ 0 ') { j=0; 而((src[我]!=' \ 0 '),,(src[我]!=' ')) {//判断条件是否满足 如果(src[我]比;“9”)| | (src[我]& lt;“0”),和(src[我]!='——')) 返回1; 票面价值[j]=src(我); + +我; + + j; } 票面价值[j]=' \ 0 '; 返回我; } 其他的 返回1; } int主要(空白) { int serial_number; int长度; int状态; int data_length; int data1、data2 data3; int位置=0; int para_flag=1; int parameter_item=0; char partition_string [20]={0}; char *数据=" https://www.yisu.com/zixun/00001 00007 3 34567 26358 32698”; 而(para_flag) { 如果(para_flag==0) 打破; 如果((位置=分区(数据、partition_string位置)!=1) { + + parameter_item; 开关(parameter_item) { 案例1: serial_number=atoi (partition_string); 打破; 案例2: 长度=atoi (partition_string); 打破; 案例3: 状态=atoi (partition_string); 打破; 案例4: data_length=atoi (partition_string); 打破; 例5: data1=atoi (partition_string); 打破; 例6: data2=atoi (partition_string); 打破; 例7: data3=atoi (partition_string); para_flag=0; 打破; } } } printf("序号:% d \ n”, serial_number); printf("长度:% d \ n”,长度); printf("状态字:% d \ n”,状态); printf("数据长度:% d \ n”, data_length); printf("数据1:% d \ n”, data1); printf("数据2:% d \ n”, data2); printf("数据3:% d \ n”, data3); 返回0; }
<>强运行结果:强>
<强>总结强>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接