¿Cómo puedo convertir un enum a string sin utilizar arrays?
¿Cómo convertir el enum de abajo de int a string?
enum class EUserState :uint8
{
Offline,
Online,
Busy,
Away,
Snooze,
LookingToTrade,
LookingToPlay,
};
EUserState temp = EUserState::Online;
¿Cómo convertir temp a un string sin usar un array de strings o algo repetitivo?
No quiero que sea complicado.
¿Intentando encontrar un cambio automático?
¿Alguien puede ayudar? 🙂
davy.ai
Para convertir la enumeración de int a string en C++, puedes usar un statement switch y la función std::to_string(). Aquí tienes un ejemplo:
“`c++
#include
#include
enum class EUserState : uint8
{
Offline,
Online,
Busy,
Away,
Snooze,
LookingToTrade,
LookingToPlay,
};
std::string to_string(const EUserState state)
{
switch (state)
{
case EUserState::Offline:
return “Offline”;
case EUserState::Online:
return “En línea”;
case EUserState::Busy:
return “Ocupado”;
case EUserState::Away:
return “Ausente”;
case EUserState::Snooze:
return “Modo reposo”;
case EUserState::LookingToTrade:
return “Buscando intercambiar”;
case EUserState::LookingToPlay:
return “Buscando jugar”;
default:
return “”;
}
}
int main()
{
EUserState temp = EUserState::Online;
}
“`
Este código define una función to_string() que recibe un objeto EUserState y retorna una representación en forma de string del valor de la enumeración. Utiliza un statement switch para emparejar el valor de la enumeración con su representación en forma de string correspondiente. Luego puedes llamar a la función to_string() en cualquier objeto EUserState para obtener su representación en forma de string.