小编neb*_*eby的帖子

具有扩展语法的POSIX正则表达式与应该匹配的位置不匹配

我试图在C中使用POSIX正则表达式,但它不起作用.这是我的代码:

int regi(char *c, char *e)
{
    regex_t regex;
    int reti = regcomp(&regex, e, 0);
    reti = regexec(&regex, c, 0, NULL, 0);

    if(!reti)
        return 1;

    return 0;
}

int main()
{
   char str[5] = {'0','x','2','F'};

   if(regi(str, "^(0[xX])[0-9a-fA-F]+"))
      // Do stuff

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在这看:http://www.peope.net/old/regex.html

这永远不会进入if语句.

c regex posix posix-ere

2
推荐指数
1
解决办法
69
查看次数

在C中将字符数组打印为十六进制

我有一个称为char **str(由malloc分配)的2D数组。假设str [0]具有字符串“ hello”。我将如何打印该十六进制?

我试过了printf("%d\n", (unsigned char)strtol(str[0], NULL, 16)),但这并不能以十六进制形式打印出来。

任何帮助,将不胜感激,谢谢!

c arrays hex converter base

1
推荐指数
2
解决办法
6422
查看次数

标签 统计

c ×2

arrays ×1

base ×1

converter ×1

hex ×1

posix ×1

posix-ere ×1

regex ×1