我需要使用以下格式“foo=%d”解析 c 中的字符串,我需要检查格式是否正确并读取 int 值。
我的初始代码是:
int foo_set = 0;
int foo;
if (sscanf(text, "foo=%d", &foo) == 1)
foo_set = 1;
但是代码应该拒绝诸如“foo=5$%£”之类的输入。这段代码会起作用吗?
int foo_set = 0;
int foo;
char control;
if (sscanf(text, "foo=%d%c", &foo, &control) == 1)
foo_set = 1;
使用control
字符代码检查没有额外的输入。有没有更好/更正确的方法来做到这一点?
谢谢