我有以下 sscanf
:
int four;
sscanf("1234&awe$asdf@3222*gr45", format, four);
我希望这个 sscanf 将值
3222
放在变量 four
中。format
字符串应该是什么?&
$
@
和 *
始终保持不变。因此,字符串输入的其他示例可以是:"6345&346dfh$aweg@5463*nvm"
-> 和 four
将是 5463
"0hjgf&456d$fhg@05645*pogyu"
-> 和 four
将是 05645
如果我不够清楚,我很抱歉。我试图尽可能清楚。
编辑:
我认为方法是这样的:
sscanf("1234&awe$asdf@3222*gr45", "@%d*", four);
还有其他方法吗?
最佳答案
@Nirock 评论已走上正轨。
int four;
// Anything not & (don't save it) followed by & then
// Anything not $ (don't save it) followed by $ then
// Anything not @ (don't save it) followed by @ then
// Anything not * (don't save it) followed by * then
// followed by an `int`
if (1 == sscanf(s, "%*[^&]&%*[^$]$%*[^@]@%*[^*]*%d", &four)) {
; // found it
}
关于c - c 中的 sscanf - 仅获取特定数字/字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20021906/