#定义多个值-C

时间:2018-10-24 13:54:50

标签: c strstr

新手问题:)

如何定义多个值,即:

#define TEST_STRING "AA" || "BB"

主要代码应与此类似:

if ((strstr(STRING2COMPARE, TEST_STRING) != NULL)) {
    doSomething();}

也许有更好的方法。

先谢谢您了:)

1 个答案:

答案 0 :(得分:1)

首先,我想您的想法是将TEST_STRING放入两个字符串的串联中。 在C语言中,它将是(串联是隐式的):

#define TEST_STRING ("AA" "BB")

第二,该测试在很多情况下都必须成功,例如:“ A”,“ B”或“ ABB”。

第三,STRING2COMPARE的大写字母通常意味着它是一个定义。您想使用普通变量吗?

最后,该实现如何?

#define TEST_STRING_1 "AA"
#define TEST_STRING_2 "BB"

if ( strcmp(str2compare, TEST_STRING_1) == 0
     || strcmp(str2compare, TEST_STRING_2) == 0 ) {
    doSomething();
}