Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Строки С++

C ++ предоставляет следующие два типа строковых представлений —

Строка символов стиля C

Строка символов в стиле C возникла в языке C и продолжает поддерживаться в C++. Эта строка на самом деле представляет собой одномерный массив символов, заканчивающийся нулем. символ '\0'. Таким образом, строка с завершающим нулем содержит символы, из которых состоит строка, за которой следует null. .

Следующее объявление и инициализация создают строку, состоящую из слова «Hello». Чтобы содержать нулевой символ в конце массива, размер массива символов, содержащего строку, должен быть на единицу больше, чем количество символов в слове «Hello».

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

Если вы следуете правилу инициализации массива, то вы можете написать приведенный выше оператор следующим образом —

char greeting[] = "Hello";

Ниже приведено представление в памяти определенной выше строки в C/C++ —

На самом деле вы не ставите нулевой символ в конце строковой константы. Компилятор C++ автоматически помещает '\0' в конец строки при инициализации массива. Давайте попробуем напечатать вышеупомянутую строку —

Живая демонстрация
#include <iostream>

using namespace std;

int main () {

   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

   cout << "Greeting message: ";
   cout << greeting << endl;

   return 0;
}

Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —

Greeting message: Hello

C++ поддерживает широкий спектр функций, которые управляют строками с завершающим нулем —

<тд>

strcpy(s1, s2);

Копирует строку s2 в строку s1.

<тд>

стркат(s1, s2);

Объединяет строку s2 с концом строки s1.

<тд>

strlen(s1);

Возвращает длину строки s1.

<тд>

strcmp(s1, s2);

Возвращает 0, если s1 и s2 совпадают; меньше 0, если s1s2.

<тд>

strchr(s1, ch);

Возвращает указатель на первое вхождение символа ch в строку s1.

<тд>

стрстр(s1, s2);

Возвращает указатель на первое вхождение строки s2 в строку s1.

Старший № Функция и назначение
1
2
3
4
5
6

В следующем примере используются некоторые из вышеупомянутых функций —

Живая демонстрация
#include <iostream>
#include <cstring>

using namespace std;

int main () {

   char str1[10] = "Hello";
   char str2[10] = "World";
   char str3[10];
   int  len ;

   // copy str1 into str3
   strcpy( str3, str1);
   cout << "strcpy( str3, str1) : " << str3 << endl;

   // concatenates str1 and str2
   strcat( str1, str2);
   cout << "strcat( str1, str2): " << str1 << endl;

   // total lenghth of str1 after concatenation
   len = strlen(str1);
   cout << "strlen(str1) : " << len << endl;

   return 0;
}

Когда приведенный выше код скомпилирован и выполнен, он выдает что-то вроде следующего:

strcpy( str3, str1) : Hello
strcat( str1, str2): HelloWorld
strlen(str1) : 10

Класс String в C++

Стандартная библиотека C++ предоставляет строку тип класса, который поддерживает все операции, упомянутые выше, а также гораздо больше функциональных возможностей. Давайте проверим следующий пример —

Живая демонстрация
#include <iostream>
#include <string>

using namespace std;

int main () {

   string str1 = "Hello";
   string str2 = "World";
   string str3;
   int  len ;

   // copy str1 into str3
   str3 = str1;
   cout << "str3 : " << str3 << endl;

   // concatenates str1 and str2
   str3 = str1 + str2;
   cout << "str1 + str2 : " << str3 << endl;

   // total length of str3 after concatenation
   len = str3.size();
   cout << "str3.size() :  " << len << endl;

   return 0;
}

Когда приведенный выше код скомпилирован и выполнен, он выдает что-то вроде следующего:

str3 : Hello
str1 + str2 : HelloWorld
str3.size() :  10

Язык C

  1. C# Строка
  2. Операторы С++
  3. С++ Комментарии
  4. Шаблоны классов С++
  5. Java-строки
  6. Строки перечисления Java
  7. Переменные и типы С++:int, double, char, string, bool
  8. Строки C++:strcpy(), strcat(), strlen(), strcmp() ПРИМЕРЫ
  9. Строки в C:как объявить переменную, инициализировать, распечатать, пример
  10. Java — класс строк