不care啥意思:不在乎 scanf(don care)

关于不care啥意思的问题,在don care中经常遇到, 想象一下:

想象一下:

您在scanf()的字符串中读取,但您只需要字符串中的几个数据点。

有没有一种简单的方法来丢弃无关的信息,而不会失去检查是否有适当的数据的能力,所以你仍然可以很容易地拒绝格式错误的字符串?

例子:

const char* store = "Get: 15 beer 30 e\n";
const char* dealer= "Get: 8 e 5 e\n";
const char* scream= "Get: f* beer 10 e\n";

我想接受第一个字符串,但忘了啤酒,因为啤酒很恶心。我想拒绝第二和第三串,因为它们显然不是 7 / 11 的合适清单;

所以我在考虑以下结构:

char* bId = new char[16];
char* cId = new char[16];
int es;
sscanf([string here], "Get: %d %s %d %s\n", [don't care], bId, &es, cId);

这样我会保持格式检查,但我会把 [不在乎],这不会使编译器呜呜声?

当然,我可以做一个变量,我不使用以后,但这不是这个问题的重点。另外检查左侧和右侧分别是一个明显的解决方案,我不是在这里寻找。

那么,有没有一种方法可以不关心但仍然检查 scanf 和 friends 中的一段字符串的类型?

21

在% 之后使用 * 作为赋值抑制字符

例子:

  sscanf([string here], "Get: %*d %s %d %s\n", bId, &es, cId);

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(349)
Linux文件操作:Linux文本文件操作(tabard of brute force)
上一篇
Could和would:为什么在sql中IN条件会比“=”慢(why would a)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(35条)