С ++ низове: strcpy (), strcat (), strlen (), strcmp () ПРИМЕРИ

Съдържание:

Anonim

Какво е низ?

Низът е последователност от символи. Низът на C ++ е обект от класа std :: string. Символите се съхраняват последователности от байтове с разрешен достъп до байт с един символ.

С ++ низовете разпределят паметта динамично. Ако е необходимо, по време на изпълнение може да се разпредели повече памет по време на изпълнение. Тъй като няма предварително разпределение на паметта, няма загуба на памет. Можем да изпълняваме различни операции върху низове, включително сравнения, конкатенация, преобразуване и т.н.

В този урок за C ++ ще научите:

  • Какво е низ?
  • Деклариране на низове
    • Символен низ в стил С
    • std :: низ
  • Достъп до низови стойности
  • Струнни функции:
    • strcpy ()
    • strcat ()
    • strlen ()
    • strcmp ()
    • Пример:

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

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

  • Символен низ в стил С
  • Тип на низовия клас

Символен низ в стил С

Този тип декларация на низове е въведена в програмен език C. C ++ продължава да го поддържа. Това е просто едномерен масив от символи, завършен с нулев знак (\ 0). Низ, завършен с нула, има символи, които съставляват низа, след което последван от нула.

Помислете за декларацията на низа, дадена по-долу:

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

Горната декларация създава низ, който формира думата Джон. Думата има 4 знака, но низът е с размер 5. Допълнителното пространство позволява задържане на нулевия знак.

Използвайки правилото за инициализация на масива, можем да напишем горното изявление, както следва:

char name[] = "John";

Обърнете внимание, че не е нужно да поставяте нулевия символ в края на низовата константа. Компилаторът C ++ автоматично ще постави '\ 0' в края на низа при инициализиране на масива.

std :: низ

Стандартната библиотека на C ++ предоставя низовия клас, който поддържа различни низови операции. Пише се като std :: string.

За да използваме този клас, първо трябва да го включим в работното си пространство с помощта на препроцесора #include, както е показано по-долу:

#include

След това можем да декларираме нашия низ, използвайки ключовата дума string. Например:

string name = "John";

Горното изявление ще създаде низ с име, който да съдържа стойността Джон.

Достъп до низови стойности

В C ++ можем да получим достъп до низовите стойности, като използваме името на низа. Например:

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

Изход:

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

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  3. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  4. Деклариране на низ от символи и даване на името на името. Низът ще съхранява стойността Джон. Допълнителното пространство ще съхранява нулевия знак.
  5. Отпечатване на текст върху конзолата.
  6. Отпечатване на стойността на низа с име на конзолата.
  7. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  8. Край на тялото на основната () функция.

Ето още един пример за използване на C ++ стандартен низ клас:

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

Изход:

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

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включване на стандартния низ клас в нашия код.
  3. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  4. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  5. Деклариране на низ и даване на името му. Низът ще съхранява стойността Guru99.
  6. Отпечатване на стойността на името на низ заедно с някакъв текст на конзолата.
  7. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  8. Край на тялото на основната () функция.

Струнни функции:

Често ще искате да манипулирате низове. C ++ предоставя широка гама от функции, които можете да използвате за това. Тези функции са дефинирани в класа CString, следователно трябва да го включим в нашия код, за да използваме функциите. Нека обсъдим някои:

strcpy ()

Това е функцията за копиране на низове. Той копира един низ в друг низ.

Синтаксис:

strcpy(string1, string2);

Двата параметъра на функцията, string1 и string2, са низове. Функцията ще копира низ string1 в низ 1.

strcat ()

Това е функцията за свързване на низове. Той обединява низове.

Синтаксис:

strcat(string1, string2);

Двата параметъра на функцията, string1 и string2 са низовете, които трябва да се обединят. Горната функция ще обедини низ низ2 в края на низ низ1.

strlen ()

Това е функцията за дължина на низа. Той връща дължината на низа, предаден му като аргумент.

Синтаксис:

strnlen(string1)

Параметърът string1 е името на низа, чиято дължина трябва да бъде определена. Горната функция ще върне дължината на низ string1.

strcmp ()

Това е функцията за сравняване на низове. Използва се за сравнение на низове.

Синтаксис:

strcmp(string1, string2);

Горната функция ще върне 0, ако низовете string1 и string2 са подобни, по-малко от 0, ако string1 string2.

Пример:

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

#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. Включване на заглавния файл на iostream в нашия код. Това ще ни позволи да четем от и да пишем на конзолата.
  2. Включване на стандартния клас CString в нашия код.
  3. Включително std пространството от имена, за да се използват класовете и функциите му, без да го извиквате.
  4. Извикване на функцията main (), в която трябва да се добави логиката на програмата. {Маркира начало на тялото на функцията main ().
  5. Деклариране на низ от 10 знака и даване на името name1. Низът ще съхранява стойността Guru99.
  6. Деклариране на низ от 10 знака и му се дава името name2. Низът ще съхранява стойността Джон.
  7. Деклариране на низ от 10 знака и даване на името на името3.
  8. Деклариране на цяло число променлива с име len.
  9. Копиране на низовото име1 в низовото име3.
  10. Отпечатване на стойността на низовото име1 заедно с някакъв текст на конзолата. Трябва да отпечата Guru99.
  11. Конкатенация на низовете name2 в края на string1. Стойността на name1 вече е Guru99John.
  12. Отпечатване на стойността на низовото име1 заедно с някакъв текст на конзолата. Трябва да отпечата Guru99John
  13. Определяне на дължината на низа с име name1 и присвояване на стойността на дължина на променлива len.
  14. Отпечатване на стойността на len променлива заедно с друг текст на конзолата.
  15. Функцията main () трябва да върне стойност, ако програмата работи нормално.
  16. Край на тялото на основната () функция.

Обобщение

  • Низът е последователност от символи.
  • Низовете принадлежат към стандартния клас на низове в C ++.
  • Можем да декларираме низове, като използваме символен низ в стил C или стандартен низ клас.
  • Функцията strcpy () копира един низ в друг.
  • Функцията strcat () обединява две функции.
  • Функцията strlen () връща дължината на функция.
  • Функцията strcmp () сравнява два низа.