Kas ir stīga?
Virkne ir rakstzīmju secība. C ++ virkne ir std :: string klases objekts. Rakstzīmes ir saglabātas baitu secības, kurām ir atļauta piekļuve viena rakstzīmju baitam.
C ++ virknes atmiņu piešķir dinamiski. Vajadzības gadījumā virknei darbības laikā var piešķirt vairāk atmiņas. Tā kā nav iepriekšējas atmiņas piešķiršanas, netiek izšķērdēta atmiņa. Mēs varam veikt dažādas operācijas ar virknēm, ieskaitot salīdzinājumus, savienošanu, pārveidošanu utt.
Šajā C ++ apmācībā jūs uzzināsiet:
- Kas ir stīga?
- Stīgu deklarēšana
- C stila rakstzīmju virkne
- std :: virkne
- Piekļuve virknes vērtībām
- Stīgu funkcijas:
- strcpy ()
- strcat ()
- strlen ()
- strcmp ()
- Piemērs:
Stīgu deklarēšana
C ++ atbalsta divu veidu virkņu deklarācijas:
- C stila rakstzīmju virkne
- Stīgu klases tips
C stila rakstzīmju virkne
Šāda veida virkņu deklarēšana tika ieviesta C programmēšanas valodā. C ++ turpina to atbalstīt. Tas vienkārši ir viendimensionāls rakstzīmju masīvs, kas izbeigts ar nulles rakstzīmi (\ 0). Virknē, kas izbeigta ar nulli, ir rakstzīmes, kas veido virkni, kurai seko nulle.
Apsveriet sekojošo virknes deklarāciju:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
Iepriekš minētā deklarācija izveido virkni, kas veido vārdu Jānis. Vārdam ir 4 rakstzīmes, bet virknes lielums ir 5. Papildu vieta ļauj turēt nulles rakstzīmi.
Izmantojot masīva inicializācijas kārtulu, iepriekš minēto paziņojumu mēs varam uzrakstīt šādi:
char name[] = "John";
Ņemiet vērā, ka jums nav jānovieto nulles rakstzīme virknes konstantes beigās. Inicializējot masīvu, C ++ kompilators automātiski ievietos '\ 0' virknes beigās.
std :: virkne
Standarta C ++ bibliotēka nodrošina virkņu klasi, kas atbalsta dažādas virkņu darbības. Tas ir rakstīts kā std :: string.
Lai izmantotu šo klasi, tā vispirms ir jāiekļauj mūsu darbvietā, izmantojot #include pirmapstrādes procesu, kā parādīts zemāk:
#include
Pēc tam mēs varam deklarēt savu virkni, izmantojot virknes atslēgvārdu. Piemēram:
string name = "John";
Iepriekš minētais paziņojums izveidos virkni ar nosaukumu John, lai turētu vērtību John.
Piekļuve virknes vērtībām
Programmā C ++ mēs varam piekļūt virknes vērtībām, izmantojot virknes nosaukumu. Piemēram:
#includeusing namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}
Izeja:
Šeit ir koda ekrānuzņēmums:
Koda skaidrojums:
- Iekļaujot mūsu kodā iostream galvenes failu. Tas ļaus mums lasīt no konsoles un rakstīt tajā.
- Iekļaujot standarta nosaukumvietu, lai izmantotu tās klases un funkcijas, to neizsaucot.
- Izsaucot galveno () funkciju, kurā jāpievieno programmas loģika. {Atzīmē galvenās () funkcijas ķermeņa sākumu.
- Deklarējot rakstzīmju virkni un piešķirot tai nosaukuma nosaukumu. Virkne saglabās vērtību John. Papildu vieta saglabās nulles rakstzīmi.
- Drukājot tekstu uz konsoles.
- Virknes nosaukuma nosaukuma drukāšana konsolē.
- Funkcijai main () jāatgriež vērtība, ja programma darbojas labi.
- Galvenās () funkcijas ķermeņa beigas.
Šeit ir vēl viens piemērs, izmantojot C ++ standarta virkņu klasi:
#include#include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}
Izeja:
Šeit ir koda ekrānuzņēmums:
Koda skaidrojums:
- Iekļaujot mūsu kodā iostream galvenes failu. Tas ļaus mums lasīt no konsoles un rakstīt tajā.
- Standarta virknes klases iekļaušana mūsu kodā.
- Iekļaujot standarta nosaukumvietu, lai izmantotu tās klases un funkcijas, to neizsaucot.
- Izsaucot galveno () funkciju, kurā jāpievieno programmas loģika. {Atzīmē galvenās () funkcijas ķermeņa sākumu.
- Virknes deklarēšana un nosaukuma nosaukšana. Virkne saglabās vērtību Guru99.
- Drukājot virknes nosaukuma vērtību blakus tekstam konsolē.
- Funkcijai main () jāatgriež vērtība, ja programma darbojas labi.
- Galvenās () funkcijas ķermeņa beigas.
Stīgu funkcijas:
Jūs bieži vēlaties manipulēt ar stīgām. C ++ nodrošina plašu funkciju klāstu, ko varat izmantot šim nolūkam. Šīs funkcijas ir definētas CString klasē, tāpēc mums tās jāiekļauj mūsu kodā, lai izmantotu funkcijas. Ļaujiet mums apspriest dažus:
strcpy ()
Šī ir virknes kopēšanas funkcija. Tas kopē vienu virkni citā virknē.
Sintakse:
strcpy(string1, string2);
Divi funkcijas parametri string1 un string2 ir virknes. Funkcija kopēs virkni string1 1. virknē.
strcat ()
Šī ir virkņu savienošanas funkcija. Tas savieno virknes.
Sintakse:
strcat(string1, string2);
Divi funkcijas parametri string1 un string2 ir virknes, kas jāsavieno. Iepriekš minētā funkcija saīsinās virkni string2 līdz virknes virknes1 beigām.
strlen ()
Šī ir virknes garuma funkcija. Tas atgriež virknes garumu, kas tam nodots kā arguments.
Sintakse:
strnlen(string1)
Parametrs string1 ir virknes nosaukums, kuras garums ir jānosaka. Iepriekš minētā funkcija atgriezīs virknes string1 garumu.
strcmp ()
Šī ir virknes salīdzināšanas funkcija. To izmanto virkņu salīdzināšanai.
Sintakse:
strcmp(string1, string2);
Iepriekš minētā funkcija atgriezīs 0, ja virknes virkne1 un virkne2 ir līdzīgas, mazāk par 0, ja virkne1
Piemērs:
Šis piemērs parāda, kā izmantot iepriekš minētās virknes funkcijas:
#include#include using namespace std;int main() {char name1[10] = "Guru99";char name2[10] = "John";char name3[10];int len;strcpy(name3, name1);cout << "strcpy( name3, name1) : " << name3 << endl;strcat(name1, name2);cout << "strcat( name1, name2): " << name1 << endl;len = strlen(name1);cout << "strlen(name1) : " << len << endl;return 0;}
Izeja:
Šeit ir koda ekrānuzņēmums:
Koda skaidrojums:
- Iekļaujot mūsu kodā iostream galvenes failu. Tas ļaus mums lasīt no konsoles un rakstīt tajā.
- Iekļaujot mūsu kodā standarta CString klasi.
- Iekļaujot standarta nosaukumvietu, lai izmantotu tās klases un funkcijas, to neizsaucot.
- Izsaucot galveno () funkciju, kurā jāpievieno programmas loģika. {Atzīmē galvenās () funkcijas ķermeņa sākumu.
- 10 rakstzīmju virknes deklarēšana un nosaukuma nosaukuma piešķiršana Virkne saglabās vērtību Guru99.
- Deklarējot 10 rakstzīmju virkni un piešķirot tai vārdu name2. Virkne saglabās vērtību John.
- 10 rakstzīmju virknes deklarēšana un nosaukuma nosaukuma piešķiršana3.
- Deklarējot vesela skaitļa mainīgo ar nosaukumu len.
- Kopējot virknes nosaukumu1 virknes nosaukumā3.
- Virknes nosaukuma1 vērtības izdrukāšana līdzās tekstam konsolē. Tam vajadzētu izdrukāt Guru99.
- Saīsinot virkņu nosaukumu2 līdz virknes nosaukuma1 beigām. Nosaukuma1 vērtība tagad ir Guru99John.
- Virknes nosaukuma1 vērtības izdrukāšana līdzās tekstam konsolē. Tam vajadzētu izdrukāt Guru99John
- Virknes nosaukuma name1 garuma noteikšana un garuma vērtības piešķiršana mainīgajam len.
- Len mainīgā lieluma drukāšana līdzās citam tekstam konsolē.
- Funkcijai main () jāatgriež vērtība, ja programma darbojas labi.
- Galvenās () funkcijas ķermeņa beigas.
Kopsavilkums
- Virkne ir rakstzīmju secība.
- Stīgas pieder standarta virkņu klasei C ++.
- Mēs varam deklarēt virknes, izmantojot C stila rakstzīmju virkni vai standarta virkņu klasi.
- Funkcija strcpy () kopē vienu virkni citā.
- Funkcija strcat () apvieno divas funkcijas.
- Funkcija strlen () atgriež funkcijas garumu.
- Funkcija strcmp () salīdzina divas virknes.