可以使用regexec使用二进制文件查找匹配项吗?

可以使用regexec使用二进制文件查找匹配项吗?,c,C,给定一个二进制文件的结构 unsigned int number1; unsigned int num_rec; acct_info_t acct[num_rec]; 账户信息在哪里 typedef struct { char name[40]; int number; float balance; } acct_info_t; 使用regexec对名称进行正则表达式搜索是否可以在不遍历记录和检查每个名称的情况下完成? 我认为是“否”,因为文件中的

给定一个二进制文件的结构

unsigned int number1;
unsigned int num_rec;
acct_info_t acct[num_rec];
账户信息在哪里

typedef struct
  {
      char name[40];
      int number;
      float balance;
  } acct_info_t;
使用regexec对名称进行正则表达式搜索是否可以在不遍历记录和检查每个名称的情况下完成?
我认为是“否”,因为文件中的任何地方都可能有一个“0”字节,regexec将在查看整个文件之前终止。此外,难道不需要先加载整个文件,使其不可行吗?所以迭代是最好的?

在与其他人讨论之后,需要对记录进行迭代并对每个记录使用regexec。

对不起,我没有注意到它在Chegg中!lol。但是,Chegg使用regexpr,它的匹配位置和长度以字符为单位,除非使用useBytes=TRUE,否则它们以字节为单位。