如何将字符串转换为C++枚举类

avatar
作者
猴君
阅读量: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语句打印出相应的输出。您可以根据需要扩展这个示例代码来处理更多的枚举值和字符串。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!