c character conversion functions
Denne opplæringen dekker C ++ tegnkonvertering Funksjoner som konvertering av et tegn til heltall eller streng og tegnarray til streng med kodeeksempler:
Når vi utvikler applikasjoner som involverer mange typer C ++, blir det nødvendig å konvertere fra en type til en annen. Vi har allerede sett noen grunnleggende type konverteringer i våre tidligere opplæringsprogrammer.
Vi har også sett strengkonvertering og konvertering av numeriske typer til strenger. Bortsett fra strengkonverteringsfunksjonene vi allerede har sett, er det noen få funksjoner som brukes til å konvertere et tegn til andre datatyper.
Dette er funksjonene som tar et enkelt tegn eller et tegnarray og deretter konverterer dem til andre datatyper.
=> Les gjennom Easy C ++ Training Series.
Hva du vil lære:
- C ++ tegnkonvertering funksjoner
- Konklusjon
C ++ tegnkonvertering funksjoner
Når det gjelder konvertering av enkelttegn til heltall eller streng og konvertering av tegnmatrise til streng, endres konverteringsfunksjonene litt fra strengkonverteringsfunksjonene.
hva er testplan i qa
I denne opplæringen vil vi diskutere følgende konverteringer:
- Konvertering av karakter til heltal (char til int C ++)
- Konvertering av karakter til streng (char til streng C ++)
- Konvertering av Character Array til String
De to første konverteringene tar for seg et enkelt tegn, mens den siste konverteringen innebærer tegnsett.
Konverter karakter til heltal - char til int
For å konvertere et enkelt tegn til en heltallstype har vi to metoder som angitt nedenfor:
# 1) Ved å støpe
Vi kan bruke avstøpningsoperasjon for å konvertere et enkelt tegn til dets heltall. I dette tilfellet vises ASCII-ekvivalenten til tegnet.
Tenk på følgende konvertering,
char a = 'A'; int num = (int) a;
I dette tilfellet vil 'num' ha verdien 65 som tilsvarer ASCII-tegnet 'A'.
Alternativt kan vi bruke følgende operasjon hvis vi vil konvertere et talltegn til en heltallverdi.
char a = '2'; int num = a-48;
Her er 48 ASCII-verdien på 0. Det som gjøres her er den andre linjen a-48 som implisitt konverterer tegn a til ASCII-ekvivalenten og trekker den deretter fra 48 (50-48) som resulterer i heltall 2.
# 2) Bruke strengstrøm
Som allerede sett i opplæringen om strengkonverteringsfunksjoner, kan vi konvertere et enkelt tegn representert som et strengstrømobjekt til et helt tall eller en hvilken som helst numerisk verdi.
Nedenfor er en kode for å demonstrere dette.
#include #include #include using namespace std; int main() { stringstream str; str <> x; cout<<'Converted value of character 5 :'< Produksjon:
Konvertert verdi av karakter 5: 5
Konverter karakter til streng - char til streng
Det er forskjellige måter vi kan konvertere et enkelt tegn til en streng.
La oss diskutere noen av disse metodene.
# 1) Bruk av en konstruktør levert av strengklasse.
Funksjonsprototype: streng s (int n, char x);
Parameter (er):
n => Størrelsen på strengen som skal genereres.
x => Tegn som skal konverteres til en streng.
Returverdi: s tring oppnådd ved konvertering av karakter.
Beskrivelse: Konstruktøren av strengklassen tar lengden på strengen (n) og et enkelt tegn som parametere, og konverterer deretter tegnet til streng.
Nedenfor er et enkelt eksempel for å demonstrere konvertering av et enkelt tegn til streng.
#include #include using namespace std; int main() { string str(1,'A'); cout<<'The string obtained by converting single character : '< Produksjon:
Strengen oppnådd ved å konvertere enkelttegn: A
Ovennevnte konvertering er enkel. Vi kaller strengkonstruktøren og angir lengden på strengen (første parameter) som 1 siden vi konverterer et enkelt tegn og den andre parameteren er tegnet som skal konverteres til streng (i dette tilfellet ‘A’).
# 2) Bruke std :: string Operator = And + =
Std :: strengklasseoperatører, = og + = er overbelastet for tegn. Så vi kan bruke disse operatorene til å konvertere et enkelt tegn til streng.
Dette demonstreres i programmet vist nedenfor.
#include #include using namespace std; int main() { string str; char c = 'B'; str = 'C'; str += c; cout<<'The string obtained by converting single character : '< Produksjon:
Strengen oppnådd ved å konvertere enkelttegn: CB
I dette programmet har vi brukt både de overbelastede operatorene, = og + =. Vi har erklært et strengobjekt og deretter tildelt et tegn til det ved hjelp av = operatoren. Deretter bruker vi + = operator og tilordner et annet tegn til strengobjektet.
Vi ser at andre gang tegnet faktisk blir sammenkoblet til det allerede eksisterende innholdet i strengobjektet.
# 3) Bruke forskjellige metoder for std :: streng
std :: strengklasse støtter forskjellige overbelastede metoder der vi kan overføre et tegn til streng som til slutt konverterer tegn til streng.
Noen av metodene for std :: strengklasse er:
- push_back
Funksjonsprototype: ugyldig push_back (char c)
Parameter (er): c => Tegn som skal tildeles streng
Returverdi: returnerer ugyldig
Beskrivelse: Denne funksjonen er overbelastet for tegn, og den tildeler et tegn til slutten av strengen.
- legge til
Funksjonsprototype: string & append (size_t n, char c)
Parameter (er):
n => Antall ganger tegnet skal legges til.
c => Tegn som skal legges til strengen.
Returverdi: Streng oppnådd ved konvertering av karakter.
Beskrivelse: Legg til funksjon av std :: streng tar to argumenter. Det første argumentet er antall ganger tegnet skal kopieres til strengen. Det andre argumentet er den faktiske karakteren som skal kopieres. Så tilleggsfunksjonen vil tilordne de mange kopiene av karakteren til strengen som spesifisert i det første argumentet.
- tildele
Funksjonsprototype: streng & tilordne (størrelse_t n, tegn c);
Parameter (er):
n => Antall kopier av tegnet.
c => Tegn som skal kopieres til streng.
Returverdi: Streng oppnådd ved konvertering av karakter.
Beskrivelse: Tildelingsfunksjon erstatter gjeldende strenginnhold med n (første argument) kopier av tegnet (andre argument).
- sett inn
Funksjonsprototype: streng & sett inn (størrelse_t pos, størrelse_t n, tegn c);
Parameter (er):
pos => Posisjon i begynnelsen av hvilke tegn som skal settes inn.
n => Antall kopier av tegnet.
c => Tegn som skal settes inn i strengen.
Returverdi: Streng oppnådd ved konvertering av karakter.
Beskrivelse: Denne funksjonen setter inn n (andre argument) kopier av tegn (tredje argument) ved startposisjonen til strengen spesifisert av pos (første argument).
Deretter vil vi utvikle et program som demonstrerer alle de ovennevnte funksjonene til std :: string class.
#include #include using namespace std; int main() { string str; str.push_back('A'); cout<<'push_back single character : '< Produksjon:
push_back enkelt tegn: A.
legge til enkelt tegn: C
tilordne enkelt tegn: D
sett inn enkelt tegn: BD
Ovennevnte program viser push_back, tilføy, tilordne og sette inn funksjoner. Utgangen viser resultatet eller strengen som returneres av hver funksjon.
# 4) Bruker std :: stringstream
Vi har allerede diskutert konvertering av numeriske typer til en streng ved hjelp av strengstrøm. Konvertering av karakter til en streng følger også det samme prinsippet når en strengstrømsklasse brukes.
Det gitte tegnet settes inn i strømmen, og deretter skrives innholdet til strengen.
La oss gjøre dette klart ved hjelp av et C ++ - program.
#include #include #include using namespace std; int main() { string str; stringstream mystr; mystr<>str; cout<<'The string obtained by converting single character : '< Produksjon:
Strengen oppnådd ved å konvertere et enkelt tegn: A
Vi setter først inn tegnet i strømobjektet, og deretter skrives bufferen til strengobjektet. Dermed viser utgangen av programmet innholdet i strengobjektet som er et enkelt tegn.
Konverter Character Array til String
Klassen std :: streng har mange metoder som kan være nyttige når du arbeider med tegnsett. Derfor anbefales det å konvertere tegnmatriser til strengobjekter og deretter bruke dem slik at vi kan skrive effektive programmer.
Det er to metoder for å konvertere tegnmatrisen til en streng som vist nedenfor.
# 1) Bruke strengkonstruktør
Som allerede diskutert for å konvertere et enkelt tegn til streng, kan vi bruke strengkonstruktør til å konvertere et tegnarray til streng.
Funksjon prototype: streng (const char * s);
Parametere: s => null-avsluttet tegnmatrise som skal konverteres til streng
Returverdi: streng => konvertert streng
Beskrivelse: Denne overbelastede konstruktøren av std :: strengklasse tar tegnmatrisen eller C-streng som et argument og returnerer strengen.
Følgende program demonstrerer denne konverteringen.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr(myarray); cout<<'Converted string: '< Produksjon:
Konvertert streng: Software Testing Help
Ovennevnte program er ganske enkelt. Alt som trengs er bare en samtale til std :: strengkonstruktør for å konvertere den gitte tegnmatrisen til streng.
# 2) Bruk = Overbelastet operatør
En annen tilnærming for å konvertere tegnmatrise til strengobjekt er å bruke en overbelastet operator =. I dette kan vi direkte tilordne tegnmatrisen til strengobjekt ved hjelp av = operator, og innholdet vil bli sendt til streng.
Følgende eksempel viser dette.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr; mystr = myarray; cout<<'Converted string: '< Produksjon:
Konvertert streng: Software Testing Help
Ovennevnte program tilordner matrisen direkte til et strengobjekt ved hjelp av = operator som resulterer i at innholdet i tegnmatrisen blir kopiert til strengobjektet.
Konklusjon
Vi har sett forskjellige metoder for å konvertere et enkelt tegn, så vel som tegneserier til strengobjekter. Siden std :: strengklassen har mange funksjoner som lar oss manipulere strengene effektivt, er det alltid nyttig å jobbe med karakterdata ved å konvertere den først til strengene.
Videre lesing = >> Konverter Char til Int i Java
Videre lesing = >> Konverter Char til String i Java
Vi kan også bruke klassemetoder for å konvertere karakterdata til strenger. I dette setter vi først inn dataene i strømmen og skriver deretter denne bufferen til et strengobjekt.
I de påfølgende veiledningene vil vi diskutere en strengstrømsklasse og flere biblioteksfunksjoner i C ++ i detalj.
=> Sjekk her for å se AZ av C ++ opplæringsveiledninger.
Anbefalt lesing
- Python-strengfunksjoner
- Java String with String Buffer and String Builder Tutorial
- C ++ Karakterklassifisering og transformasjonsfunksjoner
- VBScript-strengfunksjoner: VBScript inStr, Erstatt, Midt og Trim-funksjoner
- Python String Split Tutorial
- C # String Tutorial - Strengmetoder med kodeeksempler
- Strenger i C ++ med eksempler
- Biblioteksfunksjoner i C ++