Цель работы: изучить особенности строковых данных, правила работы с компонентами ListBox и СomboBox. Написать и отладить программу работы со строками.
Общие теоретические сведения
Строки как одномерные массивы символов
В языке С/С++ строка – это одномерный массив символов, заканчивающийся нулевым байтом, каждый бит которого равен нулю, при этом для нулевого байта определена константа ´\0´ (признак окончания строки или нуль-терминатор).
Для строки, состоящей из 80 символов, в описании массива необходимо указать размер 81, т.к. последний байт отведится под нуль-терминатор.
Напомним, что строковая константа – это набор символов, заключенных в кавычки, например, “Лабораторная работа по строкам” (´\0´ не указывается).
Строки можно инициализировать при декларации, например:
char S1[10] = ”123456789”, S2[ ] = ”12345”;
в последнем случае размер строки устанавливается по фактическому количеству.
Операции над строками рекомендуется выполнять с использованием стандартных библиотечных функций, рассмотрим наиболее часто используемые функции библиотеки string. h:
1) strcpy (S 1, S 2) – копирует содержимое строки S 2 в строку S 1;
2) strcat (S 1, S 2) – присоединяет строку S 2 к строке S 1 и помещает ее в массив, где находилась строка S 1, при этом строка S 2 не изменяется; нулевой байт, который завершал строку S 1, заменяется первым символом строки S 2;
3) strcmp (S 1, S 2) – сравнивает строки S 1 и S 2 и возвращает значение =0, если строки равны, т.е. содержат одно и то же число одинаковых символов; значение <0, если S 1< S 2; и значение >0, если S 1> S 2.
4) strlen (S) – возвращает длину строки, т.е. количество символов, начиная с первого (S [0]) и до нуль-терминатора, который не учитывается.
5) strstr ( S 1, S 2 ) – указывает первое появление подстроки S 2 в строке S 1.
6) преобразование строки S в число (библиотека stdlib. h): целое – (int) atoi (S); длинное целое – (long) atol (S); действительное – (double) atof (S);
при возникновении ошибки данные функции возвращают значение 0;
7) преобразование числа V в строку S: целое – itoa (int V, char S, int kod); длинное целое – ltoa (long V, char S, int kod); значение параметра kod определяет выбор системы счисления для преобразования и находится в диапазоне 2£ kod £36, для отрицательных чисел kod = 10.
Создание оконного приложения
Тип AnsiString
Тип AnsiString является основным строковым классом в Builder.
Часто используемые методы этого класса: с_str () – преобразование строки AnsiString в массив символов; Delete () – удаление символов, SubString () – копирование подстроки; Pos () – поиск позиции; Length () – определение длины строки.