C ++ Konverter int til streng

C ++ Konverter int til streng
Konvertering av data til to datatyper er et vanlig fenomen i programmeringsspråket C ++. Tilsvarende er konvertering av heltalldata til strengen beskrevet i denne guiden. Begge datatypene kan konverteres på flere måter.

Heltalldatatypen er en enkel type variabel som lagrer dataene bare i form av variabler. Det er ingen spesifiserte funksjoner som bare brukes på heltalene. Mens strengen er en datatype som har flere funksjoner som standard som brukes på dem. Strenger lagrer data i form av inverterte komma. Vi har konvertert heltall og flyteverdier i strengen ved å bruke en av den innebygde funksjonene. For strenger er det obligatorisk å bruke et strengbibliotek.

Implementering for å konvertere heltall til streng

Eksempel 1

Prosessen med å konvertere et heltall til en streng kan gjøres gjennom forskjellige tilnærminger. Men en av de grunnleggende tilnærmingene er å bruke en innebygd funksjon 'til-streng ()'. Dette er den direkte konverteringen av inngangsverdien i en streng. Vi har tatt to innganger her med forskjellige datatyper. Den ene er i heltall, mens den andre er en flyteverdi. For å oppnå konverteringen, trenger vi to biblioteker for å bli lagt til kildekoden. Den ene er 'iostream', som kreves for CIN og cout av data i programmet, da vi trenger å vise den resulterende verdien, så vi trenger dette biblioteket. Tilsvarende er konverteringen i strengdatatypen, så vi bruker biblioteket med streng. Dette biblioteket er ansvarlig for alle operasjoner og funksjonene som brukes på og for strengene i C++.

#inkludere
#inkludere

Dette programmet inneholder en involvering av en enkel funksjon av strenger. De to variablene er erklært her. Den ene vil inneholde en heltallverdi og den andre vil ha flytverdien. Vi vil bruke funksjonen 'til_string ()' på begge variablene. Denne funksjonen inneholder variabelen som en parameter og konverterer dem til en streng.

Streng stri = to_string (i_val);

Et streng-type objekt eller en variabel tas her som lagrer den konverterte strengen i den, og dette objektet vil bli brukt til å vise den resulterende verdien. En lignende uttalelse vil være for flyteverdien, som vi har brukt for heltallet.

Etter å ha skrevet kildekoden i filen, lagrer vi den og samler deretter koden ved å bruke en kompilator g++. -O Nøkkelord vil bli brukt til å lagre utdataene i en utdatafil, og inndatafilen du har skrevet kildekoden, vil bli brukt.

$ g ++ -o int int.c
$ ./int

Ved utførelse vil du se at både heltallet og flyteverdiene har blitt strenger. Flyteverdien inneholder ekstra sifre i den resulterende verdien, dette er på grunn av to_string () -funksjonen. Nå oppstår et spørsmål hvordan vil du bekrefte at konverteringen blir gjort med hell, eller disse verdiene er strenger eller fremdeles heltall? Fordi det ikke er noe hint eller noe poeng som bekrefter at det er en streng.

Denne tvetydigheten er gyldig, ettersom strengfunksjonen som er brukt ovenfor er en fullstendig metode, men likevel er de resulterende verdiene ikke tilstrekkelige til å forklare.

Så vi vil bruke en innebygd funksjon av strenger bare for å sjekke at begge resulterende verdier er i en streng. Denne funksjonen legger til (). Denne funksjonen er i stand til å legge til to strenger. Kravet til dette er at både verdiene som skal legges til, må være strenger, ellers vil denne funksjonen ikke fungere. Derfor vil vi bruke denne funksjonen når begge inngangsverdiene blir konvertert til strenger. Så vi har brukt denne funksjonen på både verdiene i strengene etter konvertering fra heltall- og flyteverdiene.

Stri.vedlegg (strf);

Ettersom Stri inneholder strengen med heltall, og Strf inneholder strengen med flottører.

Etter å ha brukt denne funksjonen, vil vi vise resultatene av denne funksjonen.

Du vil se at begge strengene blir lagt til gjennom denne vedleggsfunksjonen. Derfor er det bevist at begge de konverterte verdiene er strenger.

Eksempel 2

Dette eksemplet omhandler involvering av strengstrømmer. Dette er delene av strengene, men ikke inkludert i det grunnleggende strengbiblioteket, så vi må legge til en egen overskriftsfil for dette formålet. Dette er et "Sstream" -bibliotek som er en strengstrøm. Inkluder et eget bibliotek for strengen også, da vi trenger å bruke hvilken som helst grunnleggende strengoperasjon i kildekoden.

#inkludere
#inkludere
#inkludere

En StringStream -klasse er en strømklasse som bare er inkludert på strengene. Det implementerer inngangs- og utgangsoperasjonene på minnebasestrømmene. Et StringStream er assosiert med et strengobjekt som lar oss lese fra hvilken som helst streng. Noen grunnleggende metoder som er inkludert i strømmer er klare (), operatør <<, str(). In this program, we will use operator <<, which is used to add a string to the stringstream object. And also str() function to set the object of string whose contents are present in the stream.

Inne i hovedprogrammet vil vi ta en heltallverdi, som vi vil forvandle til en streng. Etter det vil en utgangsstrengstrøm bli erklært ved å erklære objektet for strengen.

OstringStream Str1.

Etter denne erklæringen vil vi sende nummeret som er til stede i variabelen som en strøm til utgangsstrengen.

STR1 << num;
String gek = str1.Str ()

Etter det vises innholdet. Nå er den resulterende verdien det samme tallet, men datatypen for heltallverdien blir endret til en streng.

Gjennom en kompilator, når du utfører programmet, vises nummeret.

Eksempel 3

Den tredje tilnærmingen som er nyttig i konvertering av heltall til streng er bruken av en Lexical_cast (). En leksikalsk rollebesetning brukes og først definert i biblioteket “Boost/Lexical_cast.HPP ”, dette gir en støpeoperatør som brukes til å konvertere et heltall til en streng eller omvendt.

#inkludere

Resten av bibliotekene er de samme som beskrevet i eksemplene ovenfor for strengen og inngangs-/utgangsstrømmen.

Inne i hovedprogrammet er en flottør og et heltallverdier erklært. Begge verdiene vil bli konvertert til en streng. Funksjonen til den leksikale rollebesetningen vil ta variabelen i parameteren for konverteringen, og deretter blir den konverterte verdien lagret i en variabel av strengtype.

String strf = boost :: lexical_cast(f_val);

Den samme uttalelsen vil også bli brukt til flyteverdien. Vis strengene gjennom strengobjektene som har lagret de returnerte konverterte verdiene.

Ved utførelse vil resultatet være som følger.

Som vi har bekreftet de resulterende verdiene som en streng i det første eksemplet, kan du også sjekke gjennom den metoden for de to andre eksemplene.

Konklusjon

'Int to String C ++' er en artikkel om konvertering av data mellom to grunnleggende datatyper av C++. Tre grunnleggende metodologier blir fremhevet, inkludert 'to_string ()' -funksjon, 'streamstring', og boost/lexical_cast () -funksjonen. Vi håper hver metode vil være nyttig for brukerne i implementeringsformålet.