Длинные строки
Функция StrCopy
Копирует строку. Заголовок:
Function StrCopy(Dest, Source: PChar): PChar;
Копирует строку Source в строку Dest и возвращает указатель на Dest. StrCopy не проверяет реальный размер памяти, связанный с Dest (он должен быть не меньше StrLen(Source)+1).
Процедура StrDispose
Удаляет строку из кучи. Заголовок:
Procedure StrDispose(Str: PChar);
Строка Str должна быть предварительно помещена в кучу функцией StrNew. Если Str=NIL, процедура ничего не делает.
Функция StrECopy
Объединяет строки. Заголовок:
Function StrECopy(Dest, Source: PChar): PChar;
Эта функция работает в точности как StrCat, но возвращает указатель на конец сцепленных строк, т.е. на терминальный ноль.
Функция StrEnd
Возвращает конец строки. Заголовок:
Function StrEnd(Str: PChar): PChar;
Функция возвращает указатель на терминальный ноль ASCIIZ-строки Str.
Функция StrlComp
Сравнивает строки. Заголовок:
Function StrlComp(Strl, Str2: PChar): PChar;
Функция сравнивает строки, игнорируя возможную разницу в высоте букв. Возвращает такой же результат, как и StrComp. Замечу, что функция правильно работает лишь с латиницей. Для кириллицы ее нужно модифицировать (см. ниже).
Функция StrLCat
Объединяет строки. Заголовок:
Function StrLCat(Dest, Source: PChar; MaxLen: Word): PChar;
Копирует символы строки Source в конец строки Dest до тех пор, пока не будут скопированы все символы или когда длина сцепленной строки Dest не достигнет MaxLen. Возвращает указатель на сцепленную строку.
В отличие от StrCopy эта функция блокирует возможное переполнение области памяти, связанной с Dest. Обычно в качестве MaxLen используется выражение SizeOf (Dest) -1. Например:
{$Х+} Uses Strings; var S: array [0..9] of Char; begin StrCopy(S, 'Turbo'); StrLCat(S, ' ', SizeOf(S)-1); StrLCat(S, 'Pascal', SizeOf(S)-1); WriteLn(S) {Напечатает "Turbo Pas"} end;