阅读量:1
要将字符串转换为C++枚举类,您可以使用一组if-else语句或者switch语句来实现。首先,定义一个枚举类,然后编写一个函数来将字符串转换为枚举类的值。下面是一个示例代码:
#include <iostream> #include <string> enum Fruit { APPLE, BANANA, ORANGE }; Fruit stringToEnum(const std::string& str) { if (str == "APPLE") { return APPLE; } else if (str == "BANANA") { return BANANA; } else if (str == "ORANGE") { return ORANGE; } else { // handle invalid string input std::cerr << "Invalid input string" << std::endl; return static_cast<Fruit>(-1); // or throw an exception } } int main() { std::string fruitStr = "BANANA"; Fruit fruit = stringToEnum(fruitStr); switch (fruit) { case APPLE: std::cout << "It's an apple" << std::endl; break; case BANANA: std::cout << "It's a banana" << std::endl; break; case ORANGE: std::cout << "It's an orange" << std::endl; break; default: break; } return 0; }
在上面的示例中,我们定义了一个Fruit枚举类,然后编写了一个stringToEnum函数来将字符串转换为对应的枚举值。在main函数中,我们将字符串"BANANA"转换为Fruit枚举值,并使用switch语句打印出相应的输出。您可以根据需要扩展这个示例代码来处理更多的枚举值和字符串。