新手问题:)
如何定义多个值,即:
#define TEST_STRING "AA" || "BB"
主要代码应与此类似:
if ((strstr(STRING2COMPARE, TEST_STRING) != NULL)) {
doSomething();}
也许有更好的方法。
先谢谢您了:)
答案 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();
}