|
发表于 2007-11-20 12:18:33
|
显示全部楼层
scanf 的模式并非正则表达式, 不要指望它能这样工作.
- int temp;
- char s[10];
- sscanf("4567efg", "%d%4s", &temp, s);
- if (memcmp(s, "abcd", 4) == 0) { /* ok */ } else { /* fail */ }
复制代码
这段代码能够完成楼主的第二个检测, 但是仍然不建议这样用, 因为在复杂的情况下可能会产生一些预期之外的效果. 用真正的正则表达式吧, man 3 regex |
|