如果我有这样的绳子
char foo[10] = "%r1%r2";
我想取出
1
和2
并将它们转换为int
s。我如何才能继续这样做? 最佳答案
if (sscanf(foo, "%%r%d%%r%d", &i1, &i2) != 2)
...format error...
当你做
sscanf()
的格式时,我知道%d
是十进制整数,但是为什么你有%%r
?如果要在源字符串中查找文本,可以使用
%
在格式字符串中指定(在%%
中,可以在格式字符串中使用printf()
在输出中生成%%
);%
表示自身。还有其他方法可以指定转换,例如使用赋值抑制(assignment suppression,即
r
)和扫描集(%*[^0-9]%d%*[^0-9]%d
,任何非数字的内容)。此信息应可从*
的手册页获取。关于c - 从C中的字符串中提取两个整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13036321/