C-具有格式化字符串的strcmp()

时间:2019-06-16 02:39:34

标签: c strcmp

我正在尝试使用strcmp()比较字符串,但是当我尝试比较格式化的字符串时,它将不起作用,例如:

if(strcmp(buffer, ("Number %d", 4)) == 0)
{
    // do stuff
}

如何比较C中的格式化字符串?

1 个答案:

答案 0 :(得分:3)

函数的参数列表内的符号this.setState({ clicks: this.state.clicks + 1 }); 是逗号分隔两个表达式的运算符,第一个表达式(("Number %d", 4))被求值(其副作用-仅无副作用) -效果,因此好的编译器可能会对此发出警告),并丢弃结果,然后对第二个结果进行评估并将其作为参数传递给函数— "Number %d"

编译器应该抱怨strcmp()的参数2类型不匹配; strcmp()不是可以传递给4的字符串。如果您的编译器没有抱怨,则需要找出如何使其抱怨。

这将起作用:

strcmp()