Ц ++ низови: стрцпи (), стрцат (), стрлен (), стрцмп () ПРИМЕРИ

Преглед садржаја:

Anonim

Шта је низ?

Низ је низ знакова. Ц ++ низ је објекат класе стд :: стринг. Знакови су ускладиштене секвенце бајтова са дозвољеним приступом једном бајту знакова.

Ц ++ низови динамички додељују меморију. По потреби се низу може доделити више меморије током времена извођења. Будући да нема пре-алокације меморије, нема расипања меморије. Можемо изводити разне операције на стринговима, укључујући поређења, спајање, конверзију итд.

У овом упутству за Ц ++ научићете:

  • Шта је низ?
  • Декларирање низова
    • Низ знакова у стилу Ц
    • стд :: стринг
  • Приступ низу вредности
  • Стринг функције:
    • стрцпи ()
    • стрцат ()
    • стрлен ()
    • стрцмп ()
    • Пример:

Декларирање низова

Ц ++ подржава два типа декларације низа:

  • Низ знакова у Ц стилу
  • Тип класе низа

Низ знакова у стилу Ц

Ова врста декларације низа је уведена у програмски језик Ц. Ц ++ наставља да га подржава. То је једноставно једнодимензионални низ знакова који се завршавају нулом (\ 0). Низ који се завршава нулом садржи знакове који чине тај низ, а затим нулу.

Размотрите декларацију низа која је дата у наставку:

char name[5] = {'J', 'o', 'h', 'n', '\0'};

Горња декларација ствара низ који формира реч Јован. Реч има 4 знака, али низ има величину 5. Додатни простор омогућава задржавање нултог карактера.

Користећи правило иницијализације низа, горњу изјаву можемо написати на следећи начин:

char name[] = "John";

Имајте на уму да не морате стављати нулл знак на крај константе низа. Компајлер Ц ++ аутоматски ће поставити '\ 0' на крај низа приликом иницијализације низа.

стд :: стринг

Стандардна библиотека Ц ++ пружа класу стрингова која подржава разне операције стрингова. Написан је као стд :: стринг.

Да бисмо користили ову класу, прво је морамо укључити у наш радни простор помоћу претпроцесора #инцлуде као што је приказано доле:

#include

Даље, можемо пријавити наш низ помоћу кључне речи стринг. На пример:

string name = "John";

Горња изјава ће створити низ под именом наме да садржи вредност Јохн.

Приступ низу вредности

У Ц ++-у вредностима низа можемо приступити помоћу имена низа. На пример:

#include using namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључујући простор имена стд како би користио његове класе и функције без позива.
  3. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  4. Декларисање низа знакова и давање имена. Низ ће чувати вредност Јохн. Додатни простор чува нулти карактер.
  5. Штампање текста на конзоли.
  6. Штампање вредности низа са именом наме на конзоли.
  7. Функција маин () би требала вратити вриједност ако програм ради у реду.
  8. Крај тела главне () функције.

Ево још једног примера употребе класе стандардних низова Ц ++:

#include #include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључивање стандардне класе низова у наш код.
  3. Укључујући простор имена стд како би користио његове класе и функције без позива.
  4. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  5. Декларисање низа и давање имена. Низ ће чувати вредност Гуру99.
  6. Штампање вредности имена низа уз неки текст на конзоли.
  7. Функција маин () би требала вратити вриједност ако програм ради у реду.
  8. Крај тела главне () функције.

Стринг функције:

Често ћете желети да манипулишете жицама. Ц ++ пружа широк спектар функција које за то можете користити. Ове функције су дефинисане у класи ЦСтринг, стога га морамо укључити у наш код да бисмо користили функције. Размотримо неке:

стрцпи ()

Ово је функција копирања низа. Копира један низ у други низ.

Синтакса:

strcpy(string1, string2);

Два параметра функције, стринг1 и стринг2, су низови. Функција ће копирати низ стринг1 у низ 1.

стрцат ()

Ово је функција повезивања низа. Он спаја низове.

Синтакса:

strcat(string1, string2);

Два параметра функције, стринг1 и стринг2 су низови који се спајају. Горња функција ће спојити низ стринг2 на крај низа стринг1.

стрлен ()

Ово је функција дужине низа. Враћа дужину низа који му је прослеђен као аргумент.

Синтакса:

strnlen(string1)

Параметар стринг1 је назив низа чија ће дужина бити одређена. Горња функција ће вратити дужину низа стринг1.

стрцмп ()

Ово је функција упоређивања низа. Користи се за поређење низова.

Синтакса:

strcmp(string1, string2);

Горња функција ће вратити 0 ако су низови стринг1 и стринг2 слични, мање од 0 ако је стринг1 <стринг2 и веће од 0 ако је стринг1> стринг2.

Пример:

Следећи пример показује како се користе горе наведене функције низа:

#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;}

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључујући иостреам датотеку заглавља у наш код. Омогућиће нам читање са конзоле и писање на њу.
  2. Укључивање стандардне класе ЦСтринг у наш код.
  3. Укључујући простор имена стд како би користио његове класе и функције без позива.
  4. Позивање функције маин () унутар које треба додати логику програма. Ознака {означава почетак тела главне () функције.
  5. Декларисање низа од 10 знакова и давање имена 1. Низ ће чувати вредност Гуру99.
  6. Декларисање низа од 10 знакова и давање имена 2. Низ ће чувати вредност Јохн.
  7. Декларисање низа од 10 знакова и давање имена 3.
  8. Проглашавање целобројне променљиве под називом лен.
  9. Копирање имена стринг1 у назив стринга3.
  10. Штампање вредности имена низа1 уз неки текст на конзоли. Требало би да штампа Гуру99.
  11. Конкатенирање низова наме2 на крај низа наме1. Вредност наме1 је сада Гуру99Јохн.
  12. Штампање вредности имена низа1 уз неки текст на конзоли. Требало би да штампа Гуру99Јохн
  13. Одређивање дужине низа са именом наме1 и додељивање вредности дужине променљивој лен.
  14. Штампање вредности променљиве лен уз неки други текст на конзоли.
  15. Функција маин () би требала вратити вриједност ако програм ради у реду.
  16. Крај тела главне () функције.

Резиме

  • Низ је низ знакова.
  • Низови припадају стандардној класи низова у језику Ц ++.
  • Низове можемо декларисати помоћу низа знакова у стилу Ц или стандардне класе низова.
  • Функција стрцпи () копира један низ у други.
  • Функција стрцат () спаја две функције.
  • Функција стрлен () враћа дужину функције.
  • Функција стрцмп () упоређује два низа.