特征码的通配符??和*号在vs里面怎么不能用?

uint8_t pattern[] = { 0x73, 0x3A, 0x??, 0x??, 0x??, 0x??, 0x20 };
直接说是无效的十六进制数

image.png

image.png

阅读 1.6k
2 个回答

C语言的通配符, 是字符串通配符*代表0个或多个字符,?代表一个字符
你问题中是是干啥, 完全不是一码事

#include <stdint.h>

typedef struct {
    uint8_t value;
    int is_wildcard;
} PatternByte;

PatternByte pattern[] = {
    {0x73, 0},
    {0x3A, 0},
    {0x00, 1}, // ?? replaced with 0x00 and is_wildcard set to 1
    {0x00, 1}, // ?? replaced with 0x00 and is_wildcard set to 1
    {0x00, 1}, // ?? replaced with 0x00 and is_wildcard set to 1
    {0x00, 1}, // ?? replaced with 0x00 and is_wildcard set to 1
    {0x20, 0}
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏