C++ 比如我有一个unsigned char * p={101,202,12,8,0,32,46,58,231,255,18,64,78}
问:
1:如何判断p(3-4)=={8,0} 且 p(9)={255}
2:如何判断{231,255,18,64}的起始位置,返回8

unsigned char指针内容如何比较?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 元气少女缘结神 2023-02-23 11:38关注
如果你硬要用 * 的话,你就将下面的访问方式改成 * (p+id)即可
const int num=13; unsigned char p[num]={101,202,12,8,0,32,46,58,231,255,18,64,78}; bool judge3=(p[3]==8)? true : false; bool judge4=(p[4]==0)? true : false; bool judge9=(p[9]==255)? true : false; bool judge_condition2=false; int judge_condition2_id=0; for(int id=0;id!=num;id++) { if(p[id]==231 && (id+3<num && p[id+3]==64) && p[id+2]==18 && p[id+1]=255) { judge_condition2=true; judge_condition2_id=id; break; } } if(judge_condition2) printf("judge_condition2_id:%d \n",judge_condition2_id);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用