在不使用“#include <regex.h>”的情况下摆脱正则表达式编译器警告
get rid of regex compilerwarning without using "#include <regex.h>"
我在 vxworks 下使用正则表达式,无法包含 "regex.h"。
我收到代码 if (sscanf(token, "%*[^\[][%d]", &idx) != 1)
的编译器警告 "unrecognized character escape sequence"
因为 '\' 和后面的 '['.
是否有可能在不使用 regex.h 的情况下摆脱该编译器警告以及类似的事情在这里完成:
你可能想试试
#include <stdio.h>
int main(void) {
char buf[99];
int idx, n;
while (fgets(buf, sizeof buf, stdin)) {
buf[strcspn(buf, "\n")] = 0; // remove ENTER
if (sscanf(buf, "%*[^[][%d%n", &idx, &n) != 1) {
printf("no number in %s\n", buf);
} else {
printf("number found: %d (left over string: \"%s\")\n", idx, buf + n);
}
}
return 0;
}
我在 vxworks 下使用正则表达式,无法包含 "regex.h"。
我收到代码 if (sscanf(token, "%*[^\[][%d]", &idx) != 1)
的编译器警告 "unrecognized character escape sequence"
因为 '\' 和后面的 '['.
是否有可能在不使用 regex.h 的情况下摆脱该编译器警告以及类似的事情在这里完成:
你可能想试试
#include <stdio.h>
int main(void) {
char buf[99];
int idx, n;
while (fgets(buf, sizeof buf, stdin)) {
buf[strcspn(buf, "\n")] = 0; // remove ENTER
if (sscanf(buf, "%*[^[][%d%n", &idx, &n) != 1) {
printf("no number in %s\n", buf);
} else {
printf("number found: %d (left over string: \"%s\")\n", idx, buf + n);
}
}
return 0;
}