我试图在C中使用POSIX正则表达式,但它不起作用.这是我的代码:
int regi(char *c, char *e)
{
regex_t regex;
int reti = regcomp(®ex, e, 0);
reti = regexec(®ex, 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语句.
我有一个称为char **str(由malloc分配)的2D数组。假设str [0]具有字符串“ hello”。我将如何打印该十六进制?
我试过了printf("%d\n", (unsigned char)strtol(str[0], NULL, 16)),但这并不能以十六进制形式打印出来。
任何帮助,将不胜感激,谢谢!