我需要使用以下格式“foo =%d”解析c中的字符串,我需要检查格式是否正确并读取int值。使用sscanf控制整个字符串
我最初的代码是:
int foo_set = 0;
int foo;
if (sscanf(text, "foo=%d", &foo) == 1)
foo_set = 1;
但代码应该拒绝输入诸如 “富= $ 5%£”。 这段代码能工作吗?
int foo_set = 0;
int foo;
char control;
if (sscanf(text, "foo=%d%c", &foo, &control) == 1)
foo_set = 1;
使用control
字符代码检查没有额外的输入。 有没有更好/更正确的方法来做到这一点?
感谢
'这个代码能工作吗?'。你为什么不跑来看? – axiom