c++中如何用switch判断五个字符串str1~5不能为空,且不同字符串为空的返回值不一样
时间: 2024-11-29 10:39:34 浏览: 17
在C++中,你可以使用`std::string`类型的变量并结合`switch`结构来判断str1到str5是否为空。首先,你需要将每个字符串与一个整数值关联起来,以便于在`switch`语句中进行比较。这里是一个示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str1 = "value1";
std::string str2 = "";
std::string str3 = "value3";
std::string str4 = " ";
std::string str5 = "value5";
int result;
switch (true) {
case (str1.empty()):
result = 0; // 如果str1为空,返回0
break;
case (str2.empty()):
result = 1; // 如果str2为空,返回1
break;
case (str3.empty()):
result = 2; // 如果str3为空,返回2
break;
case (str4.empty()):
result = 3; // 如果str4为空,返回3
break;
default:
result = 4; // 如果其他都不空,则返回4
break;
}
if (str5.empty()) { // 需额外检查str5,因为默认case不会包含它
result = 5; // 如果str5也为空,返回5
}
std::cout << "Result: " << result << std::endl;
return 0;
}
```
在这个例子中,我们通过`empty()`函数检查每个字符串是否为空,并赋予相应的整数结果。如果所有字符串都不为空,`default`情况会被触发,返回值为4。如果`str5`也被发现为空,我们会单独处理这个情况。
阅读全文