我需要使用以下格式「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