Системное программирование в UNIX средствами Free Pascal



         

Описание - часть 2


if strcmop (token, 'print') = 0 then

begin

  (* Обработать ключевое слово print *)

end;

Процедура strcopy подобна процедуре strcat. Она копирует содержимое строки s2

в строку s1. Процедура strlcopy копирует в точности length символов, отбрасывая ненужные символы (что означает, что строка s1

может не заканчиваться нулевым символом) или записывая нулевые символы вместо недостающих символов строки s2. Процедура strnew возвращает указатель на копию строки s1. Возвращаемый процедурой

strnew указатель может быть передан функции free, так как память выделяется при помощи функции malloc.

Процедура strlen просто возвращает длину строки s1. Другими словами, она возвращает число символов в строке s1

до нулевого символа, обозначающего ее конец.

Процедура strscan возвращает указатель на первое вхождение символа с

(который передается в параметре типа char) в строке s1 или nil, если символ в строке не обнаружен. Процедура strpos возвращает адрес первого вхождения подстроки s2

в строке s1 (или nil, если подстрока не найдена). Процедура strrscan точно так же ищет последнее вхождение символа с. В главе 4 процедура strrscan была использована для удаления пути из полного маршрутного имени файла:

(* Выделяем имя файла из полного маршрутного имени *)

filename := strscan(pathname, '/');

Процедура strpbrk возвращает указатель на первое вхождение в строке s1

любого символа из строки s2 или нулевой указатель, если таких вхождений нет.

Процедура strspn возвращает длину префикса строки s1, который состоит только из символов, содержащихся в строке s2. Процедура strcspn возвращает длину префикса строки s1, который не содержит ни одного символа из строки s2.

И, наконец, процедура strtok позволяет программе разбить строку s1

на лексические единицы (лексемы). В этом случае строка s2

содержит символы, которые могут разделять лексемы (например, пробелы, символы табуляции и перевода строки). Во время первого вызова, для которого первый аргумент равен s1, указатель на строку s1

запоминается, и возвращается указатель на первую лексему. Последующие вызовы, для которых первый аргумент задается равным nil, возвращают следующие лексемы из строки s1. Когда лексем в строке больше не останется, возвращается нулевой указатель.




Содержание  Назад  Вперед