c character conversion functions
Ovaj vodič obrađuje funkcije pretvorbe znakova C ++ kao što je pretvorba znaka u cjelobrojno ili niz & niz znakova u niz s primjerima koda:
Kako u C ++ razvijamo programe koji uključuju mnoge tipove, postaje potrebno pretvoriti iz jedne vrste u drugu. Već smo vidjeli nekoliko osnovnih pretvorbi tipa u našim ranijim vodičima.
Također smo vidjeli pretvorbu nizova i pretvorbu numeričkih vrsta u nizove. Osim funkcija pretvorbe niza koje smo već vidjeli, postoji nekoliko funkcija koje se koriste za pretvaranje znaka u druge vrste podataka.
To su funkcije koje uzimaju jedan znak ili niz znakova, a zatim ih pretvaraju u druge vrste podataka.
=> Pročitajte seriju Easy C ++ Training Series.
Što ćete naučiti:
- C ++ funkcije pretvorbe znakova
- Zaključak
C ++ funkcije pretvorbe znakova
Kada je riječ o konverziji jednog znaka u cijeli broj ili niz i konverziji niza znakova u niz, funkcije pretvorbe se malo mijenjaju od funkcija funkcija pretvorbe niza.
angularjs pitanja i odgovori za iskusni pdf
U ovom uputstvu razgovarat ćemo o sljedećim pretvorbama:
- Pretvorba znaka u cijeli broj (char u int C ++)
- Pretvorba znaka u niz (char u niz C ++)
- Pretvorba niza znakova u niz
Prve dvije pretvorbe bave se jednim znakom, dok zadnja pretvorba uključuje niz znakova.
Pretvori znak u cijeli broj - char u int
Da bismo pretvorili jedan znak u cijeli broj, imamo dvije metode kako je navedeno u nastavku:
# 1) Lijevanjem
Operacijom lijevanja možemo pretvoriti jedan znak u njegov cjelobrojni ekvivalent. U tom će se slučaju prikazati ASCII ekvivalent znaku.
Razmotrite sljedeću pretvorbu,
char a = 'A'; int num = (int) a;
U ovom slučaju, 'num' će imati vrijednost 65 koja je ASCII ekvivalent znaku 'A'.
Alternativno, možemo koristiti sljedeću operaciju ako želimo pretvoriti brojčani znak u cjelobrojnu vrijednost.
char a = '2'; int num = a-48;
Ovdje je 48 ASCII vrijednost 0. Ono što se ovdje radi je drugi redak a-48 implicitno pretvara char a u njegov ASCII ekvivalent, a zatim ga oduzima od 48 (50-48) što rezultira cjelobrojnom vrijednošću 2.
# 2) Korištenje stringstream-a
Kao što smo već vidjeli u vodiču o funkcijama pretvorbe niza, možemo pretvoriti jedan znak predstavljen kao objekt niza niza u cjelobrojnu ili bilo koju numeričku vrijednost.
Dolje je dan kod koji to pokazuje.
#include #include #include using namespace std; int main() { stringstream str; str <> x; cout<<'Converted value of character 5 :'< Izlaz:
Pretvorena vrijednost lika 5: 5
Pretvori znak u niz - znak u niz
Postoje različiti načini pomoću kojih jedan znak možemo pretvoriti u niz.
Razgovarajmo o nekim od ovih metoda.
# 1) Korištenje konstruktora koji pruža klasa nizova.
Prototip funkcije: niz s (int n, char x);
Parametar (i):
n => Veličina niza koji će se generirati.
x => Znak koji treba pretvoriti u niz.
Povratna vrijednost: s tring dobiven pretvaranjem karaktera.
Opis: Konstruktor klase niza uzima u duljinu niz (n) i jedan znak kao parametre, a zatim pretvara znak u niz.
Dolje je dat jednostavan primjer za prikaz pretvorbe jednog znaka u niz.
#include #include using namespace std; int main() { string str(1,'A'); cout<<'The string obtained by converting single character : '< Izlaz:
Niz dobiven pretvaranjem jednog znaka: A
Gornja konverzija je jednostavna. Konstruktor niza nazivamo i duljinu niza (prvi parametar) navodimo kao 1 budući da pretvaramo jedan znak, a drugi parametar je znak koji treba pretvoriti u niz (u ovom slučaju ‘A’).
# 2) Korištenje std :: string Operator = I + =
Operatori klase std :: string, = i + = preopterećeni su za znakove. Tako možemo koristiti ove operatore za pretvaranje jednog znaka u niz.
To je prikazano u dolje prikazanom programu.
#include #include using namespace std; int main() { string str; char c = 'B'; str = 'C'; str += c; cout<<'The string obtained by converting single character : '< Izlaz:
Niz dobiven pretvaranjem jednog znaka: CB
U ovom smo programu koristili oba preopterećena operatora, =, i + =. Proglasili smo objekt niza, a zatim smo mu dodijelili znak pomoću operatora =. Dalje koristimo operator + = i dodijelimo drugom znaku objekt niza.
Vidimo da se drugi put lik zapravo povezuje s već postojećim sadržajem u objektu niza.
# 3) Korištenje različitih metoda std :: string
klasa std :: string podržava razne preopterećene metode pomoću kojih možemo proslijediti znak u niz koji na kraju pretvara znak u niz.
Neke od metoda std :: string klase su:
- odgurnuti
Prototip funkcije: void push_back (char c)
Parametar (i): c => Znak koji se dodjeljuje nizu
Povratna vrijednost: vraća se praznim
Opis: Ova je funkcija preopterećena za znakove i dodjeljuje znak na kraju niza.
- dodati
Prototip funkcije: niz i dodavanje (size_t n, char c)
Parametar (i):
n => Broj dodavanja znaka.
c => Znak koji se dodaje u niz.
Povratna vrijednost: Niz dobiven konverzijom karaktera.
Opis: Funkcija dodavanja std :: string uzima dva argumenta. Prvi je argument koliko se puta znak treba kopirati u niz. Drugi argument je stvarni znak koji se kopira. Dakle, funkcija dodavanja dodijelit će onoliko kopija znakova nizu kako je navedeno u prvom argumentu.
- dodijeliti
Prototip funkcije: string & assign (size_t n, char c);
Parametar (i):
n => Broj kopija znaka.
c => Znak koji se kopira u niz.
Povratna vrijednost: Niz dobiven konverzijom karaktera.
Opis: Funkcija dodjeljivanja zamjenjuje trenutni sadržaj niza s n (prvi argument) kopijama znaka (drugi argument).
- umetnuti
Prototip funkcije: string & insert (size_t poz, size_t n, char c);
Parametar (i):
pos => Položaj na početku kojeg znaka treba umetnuti.
n => Broj kopija znaka.
c => Znak koji treba umetnuti u niz.
Povratna vrijednost: Niz dobiven konverzijom karaktera.
Opis: Ova funkcija ubacuje n (drugi argument) kopija znaka (treći argument) na početnom položaju niza određenog pos (prvi argument).
Zatim ćemo razviti program koji demonstrira sve gore navedene funkcije std :: string klase.
#include #include using namespace std; int main() { string str; str.push_back('A'); cout<<'push_back single character : '< Izlaz:
push_back jedan znak: A
dodati jedan znak: C
dodijeliti jedan znak: D
ubaci jedan znak: BD
Gornji program prikazuje funkcije push_back, dodavanje, dodjeljivanje i umetanje. Izlaz prikazuje rezultat ili niz koji vraća svaka funkcija.
# 4) Korištenje std :: stringstream
Već smo razgovarali o pretvorbi numeričkih tipova u niz pomoću stringstream-a. Pretvorba znaka u niz također slijedi isti princip kada se koristi klasa stringstream.
Dati znak umetne se u tok, a zatim se sadržaj upiše u niz.
Razjasnimo to pomoću programa C ++.
#include #include #include using namespace std; int main() { string str; stringstream mystr; mystr<>str; cout<<'The string obtained by converting single character : '< Izlaz:
Niz dobiven pretvaranjem jednog znaka: A
Prvo umetnemo znak u objekt streama, a zatim se taj međuspremnik upisuje u objekt niza. Stoga izlaz programa prikazuje sadržaj predmeta stringa koji je jedan znak.
Pretvori niz znakova u niz
Klasa std :: string ima mnogo metoda koje vam mogu dobro doći pri radu s nizovima znakova. Stoga je preporučljivo pretvoriti nizove znakova u niz objekata i zatim ih koristiti kako bismo mogli pisati učinkovite programe.
Postoje dvije metode za pretvaranje niza znakova u niz kao što je prikazano dolje.
# 1) Korištenje String Construktora
Kao što je već rečeno za pretvaranje jednog znaka u niz, možemo koristiti konstruktor niza za pretvaranje niza znakova u niz.
Prototip funkcije: niz (const char * s);
Parametri: s => niz znakova završenih nulom za pretvaranje u niz
Povratna vrijednost: string => pretvoreni niz
Opis: Ovaj preopterećeni konstruktor klase std :: string uzima niz znakova ili C-niz kao argument i vraća niz.
Sljedeći program prikazuje ovu pretvorbu.
#include #include using namespace std; int main() { char myarray[] = {'Software Testing Help'}; string mystr(myarray); cout<<'Converted string: '< Izlaz:
Pretvoreni niz: pomoć za testiranje softvera
Gornji program je vrlo jednostavan. Dovoljan je samo jedan poziv konstruktoru std :: string za pretvaranje datog niza znakova u niz.
# 2) Korištenje = Preopterećeni operator
Drugi pristup pretvaranju niza znakova u objekt niza je upotreba preopterećenog operatora =. U ovom slučaju možemo izravno dodijeliti niz znakova objektu niza pomoću = operatora i sadržaj će se proslijediti u niz.
Sljedeći primjer to pokazuje.
#include #include using namespace std; int main() { char myarray[] = {'Software Testing Help'}; string mystr; mystr = myarray; cout<<'Converted string: '< Izlaz:
Pretvoreni niz: pomoć za testiranje softvera
Gornji program dodjeljuje niz izravno objektu niza pomoću = operatora koji rezultira kopiranjem sadržaja niza znakova u objekt niza.
Zaključak
Vidjeli smo razne metode za pretvaranje jednog znaka, kao i nizova znakova u niz objekata. Budući da klasa std :: string ima mnogo funkcija koje nam omogućuju učinkovitu manipulaciju nizovima, uvijek je korisno raditi s podacima o znakovima pretvarajući ih prvo u nizove.
Daljnje čitanje = >> Pretvori Char u Int na Javi
Daljnje čitanje = >> Pretvori Char u String na Javi
Također možemo koristiti metode klasa za pretvaranje podataka o znakovima u nizove. U ovom slučaju prvo ubacujemo podatke u tok, a zatim zapisujemo taj međuspremnik u objekt niza.
U našim slijedećim vodičima detaljno ćemo raspraviti o klasi niza i više funkcija knjižnice u C ++-u.
=> Ovdje pogledajte kako biste vidjeli A-Z od C ++ Tutorial tutorijala.
Preporučena literatura
- Python string funkcije
- Java string sa String Buffer-om i String Builder Tutorial
- Funkcije klasifikacije i transformacije znakova C ++
- VBScript niske funkcije: VBScript inStr, zamjena, sredina i obrezivanje
- Vodič za dijeljenje Python Stringa
- Vodič za niz stringa C # - Nizne metode s primjerima koda
- Nizovi u C ++ s primjerima
- Knjižnične funkcije na C ++