Enum er en datatype som kan spesifiseres av brukeren som inneholder integrerte konstanter. For å definere det, bruker vi modifisereren 'Enum'. I denne artikkelen vil vi se på hvordan du kan overføre visse verdier av enumtype til en streng i C++. Å konvertere en enum til en streng kan oppnås på forskjellige måter. Vi vil gå gjennom noen av de mest effektive og enkle metodene for å konvertere en enum til en streng. Denne metoden representerer en samling av heltallstall på en mindre feilutsatt og mer lesbar måte.
Eksempel 1: Bruk av Stringify () -metode for å konvertere enum til streng i C ++:
Stringify () makrometoden brukes til å konvertere en enum til en streng. Variabel derferencing og makroutskiftninger er ikke nødvendig med denne metoden. Det viktige er at bare teksten som er inkludert i parentes kan konverteres ved hjelp av Stringify () -metoden.
La oss demonstrere kodeimplementeringen. I det første trinnet har vi importert to standardfiler i overskriftsdelen. Den første er iostream -filen, og den andre er den definer Stringify -filen som gir et argument i den. Denne filen konverterer makroargumenter til strenglitteraler uten å utvide parameternavnet. Navneområdet STD -fil er også inkludert for bruk av funksjonene.
Deretter har vi definert en enum -klasse som et "univers", og den inneholder fire forskjellige verdier av typen Enum. Her har vi den første enumverdien i posisjon 0, den andre enumverdien i posisjon 1, og så videre, som standard. Nå har vi en karakterdatatypeklasse som "Convert_enum []" der vi kalte Stringify -metoden. Stringify -metoden tar verdier av enum -type og konverterer dem til en streng.
Vi har laget en funksjon som "DisplayItems" som vil skrive ut verdiene som er lagret i Enum -klassen. Til slutt har vi påkalt hovedfunksjonen som kaller funksjonen “DisplayItems” og tar Enum -klassen “Universe” som et argument. Enum -typen verdi vil bli konvertert til en streng ved hjelp av denne metoden.
#inkludereElementene som inneholder enum -klassen vises i følgende bilde og konverteres til strengen:
Eksempel2: Bruk av konstant char* -array for å konvertere enum til streng i C ++:
Å bruke const char* matrise er en av de mest grunnleggende metodene for å konvertere en enum. For å få tilgang til elementene i strengmatrisen, vil vi bruke standardverdiene til enum i denne metoden.
Til å begynne med har vi standard overskriftsfiler i overskriftsdelen av følgende program. Vi har et navneområde STD -fil også for å få tilgang til funksjonen. Deretter har vi definert en enum -klasse ved å bruke enum -nøkkelordet sammen med klassenavnet. Klassenavnet er representert som "Datatyper". Enum -klassen “Datatypes” inneholder de fire elementene.
Etter det har vi en const char peker -matrise som "enumstr" som inneholder strengverdiene fra en enum -type. Dermed er "enumstr []" en strengmatrise som ikke kan endres. Deretter har vi hovedfunksjonen, og i hovedfunksjonen har vi en COUT -kommando som tar verdiene til streng -array “Enumstr” og vil skrive ut på hurtigskjermen.
#inkludereUtfallet vi fikk ved å bruke Const Char Pointer -matrisen i programmet ovenfor er vist nedenfor:
Eksempel 3: Bruke den definerte funksjonen for å konvertere enum til streng i C ++:
Vi kan også implementere vår funksjon som aksepterer et heltall av enumklasse som et argument og returnerer en streng som en utgang.
Programmet har inkludert den nødvendige C ++ -biblioteket i overskriften sammen med STD -navnefilen. Etter dette har vi laget en enum med "enum" -modifisereren. Enum er definert med navnet “Animal”. "Animal" lagrer fem tilfeldige verdier av en enum -type. Vi har en Const Char Pointer -matrise som "Enum String" i neste kodeinje. Den inneholder en rekke strengverdier.
Deretter har vi definert en tilpasset funksjon som "ConvertToenum". Denne funksjonen tar enum heltall som et argument som "val". Strengvariabelen er befolket inne i funksjonen med et const char* element fra enum streng -array. Til slutt har vi definert hovedfunksjonen der vi har kalt den tilpassede funksjonen "ConvertToNum" og gitt enumverdiene til denne tilpassede funksjonen.
#inkludereStrengoppstillingen generert fra Enum -typen er resultatet av kodeutførelsen ovenfor vist i følgende bilde.
Konklusjon
Vi har utforsket mange tilnærminger for å konvertere en enum til en streng. Den første metoden som er Stringify () -metoden, kan også håndtere store enums, mens de andre metodene kan brukes til enkle konverteringer. Dette er ganske enkle tilnærminger, og med bare ett forsøk vil du være komfortabel med dem.