1. Строковые типы данных в языке С++ и средства для работы с ними.

Строкой называют набор символов, слов, фраз или предложений. В отличие от некоторых других языков, в Си строка не выделяется в отдельный тип данных. Язык Си работает со строкой как с последовательностью данных символьного типа, используя так называемый массив. Строка может состоять из любой комбинации букв, цифр, знаков препинания и управляющих кодов, которые тоже могут использоваться в качестве символьных данных. Язык Си проводит различия между строкой цифр и числом. Строка «123» будет восприниматься не как математическое значение сто двадцать три, а как комбинация символов «1», «2», «3».

Си позволяет работать с данными строкового типа, используя массивы. Чтобы определить строковую переменную, необходимо использовать тип char и указать максимальное число символов, которое может содержать строка. (char var_name[N]; или char* var_name;)

Набор операций, стандартного класса string:

1) инициализация массивом символов (строкой встроенного типа) или другим объектом типа string {const char *pc = ", "; string s1( "hello" ); string s2( "world" ); string s3 = s1 + pc + s2 + "\n";}. Встроенный тип не обладает второй возможностью;

2) копирование одной строки в другую(=). Для встроенного типа приходится использовать функцию strcpy();

3) доступ к отдельным символам строки для чтения и записи (st[i]). Во встроенном массиве для этого применяется операция взятия индекса или косвенная адресация;

4) сравнение двух строк на равенство(==). Для встроенного типа используется функция strcmp();

5) конкатенация двух строк, получая результат либо как третью строку, либо вместо одной из исходных(+, -). Для встроенного типа применяется функция strcat(), однако чтобы получить результат в новой строке, необходимо последовательно задействовать функции strcpy() и strcat();

6) вычисление длины строки. Узнать длину строки встроенного типа можно с помощью функции strlen();

7) возможность узнать, пуста ли строка. (st.empty()=true/false)

Стандартные функции StrToInt…

Hosted by uCoz