Строка — это группа символов, включая пробелы. Можно сказать, что это одномерный массив символов, который заканчивается символом NULL (‘\ 0’). Строку также можно рассматривать как предопределенный класс, который поддерживается большинством языков программирования, таких как C, C ++, Java, PHP, Erlang, Haskell, Lisp и т. Д.
На следующем рисунке показано, как строка «Учебник» будет выглядеть в памяти.
Создать строку в C ++
Следующая программа представляет собой пример, который показывает, как создать строку в C ++, который является объектно-ориентированным языком программирования.
#include <iostream> using namespace std; int main () { char greeting[20] = {'H', 'o', 'l', 'i', 'd', 'a', 'y', '\0'}; cout << "Today is: "; cout << greeting << endl; return 0; }
Это даст следующий результат —
Today is: Holiday
Строка в Эрланге
Следующая программа представляет собой пример, который показывает, как создать строку в Erlang, который является функциональным языком программирования.
-module(helloworld). -export([start/0]). start() -> Str = "Today is: Holiday", io:fwrite("~p~n",[Str]).
Это даст следующий результат —
"Today is: Holiday"
Строковые операции в C ++
Различные языки программирования поддерживают разные методы для строк. В следующей таблице показано несколько предопределенных строковых методов, поддерживаемых C ++.
S.No. | Метод и описание |
---|---|
1 |
STRCPY (s1, s2) Копирует строку s2 в строку s1 |
2 |
Strcat (s1, s2) Добавляет строку s2 в конце s1 |
3 |
STRLEN (s1) Это обеспечивает длину строки s1 |
4 |
STRCMP (s1, s2) Возвращает 0, когда строки s1 и s2 совпадают |
5 |
Strchr (s1, гл) Возвращает указатель на первое вхождение символа ch в строке s1 |
6 |
Strstr (s1, s2) Возвращает указатель на первое вхождение строки s2 в строку s1 |
STRCPY (s1, s2)
Копирует строку s2 в строку s1
Strcat (s1, s2)
Добавляет строку s2 в конце s1
STRLEN (s1)
Это обеспечивает длину строки s1
STRCMP (s1, s2)
Возвращает 0, когда строки s1 и s2 совпадают
Strchr (s1, гл)
Возвращает указатель на первое вхождение символа ch в строке s1
Strstr (s1, s2)
Возвращает указатель на первое вхождение строки s2 в строку s1
Следующая программа показывает, как вышеуказанные методы могут быть использованы в C ++ —
#include <iostream> #include <cstring> using namespace std; int main () { char str1[20] = "Today is "; char str2[20] = "Monday"; char str3[20]; int len ; strcpy( str3, str1); // copy str1 into str3 cout << "strcpy( str3, str1) : " << str3 << endl; strcat( str1, str2); // concatenates str1 and str2 cout << "strcat( str1, str2): " << str1 << endl; len = strlen(str1); // String length after concatenation cout << "strlen(str1) : " << len << endl; return 0; }
Это даст следующий результат —
strcpy(str3, str1) : Today is strcat(str1, str2) : Today is Monday strlen(str1) : 15
Струнные операции в Эрланге
В следующей таблице приведен список предопределенных строковых методов, поддерживаемых Erlang.
S.No. | Метод и описание |
---|---|
1 |
Len (s1) Предоставляет строку s2 в строку s1 |
2 |
равен (s1, s2) Возвращает true, когда строки s1 и s2 равны, иначе возвращает false |
3 |
CONCAT (s1, s2) Добавляет строку s2 в конце строки s1 |
4 |
ул (s1, гл) Возвращает позицию индекса символа ch в строке s1 |
5 |
ул (с1, с2) Возвращает позицию индекса s2 в строке s1 |
6 |
зиЬзЬг (s1, s2, Num) Этот метод возвращает строку s2 из строки s1 на основе начальной позиции и количества символов из начальной позиции |
7 |
to_lower (s1) Этот метод возвращает строку в нижнем регистре |
Len (s1)
Предоставляет строку s2 в строку s1
равен (s1, s2)
Возвращает true, когда строки s1 и s2 равны, иначе возвращает false
CONCAT (s1, s2)
Добавляет строку s2 в конце строки s1
ул (s1, гл)
Возвращает позицию индекса символа ch в строке s1
ул (с1, с2)
Возвращает позицию индекса s2 в строке s1
зиЬзЬг (s1, s2, Num)
Этот метод возвращает строку s2 из строки s1 на основе начальной позиции и количества символов из начальной позиции
to_lower (s1)
Этот метод возвращает строку в нижнем регистре
Следующая программа показывает, как вышеуказанные методы могут быть использованы в Erlang.
-module(helloworld). -import(string,[concat/2]). -export([start/0]). start() -> S1 = "Today is ", S2 = "Monday", S3 = concat(S1,S2), io:fwrite("~p~n",[S3]).
Это даст следующий результат —