Реализация аналога Сишной функции strtok - Turbo Pascal
Формулировка задачи:
Нужна реализация именно на Turbo Pascal аналога Си-шной функции strtok.
Помогите.
Документация:
Решение задачи: «Реализация аналога Сишной функции strtok»
textual
Листинг программы
type TChars=set of Char; const delims:TChars=[#9,' ','.',',','-']; function StrTok(const str: String; delims: TChars): String; const s: String = ''; i: Integer = 1; var j: Integer; begin if str<>'' then begin s:=str; i:=1; end; while (i<=Length(s)) and (s[i] in delims) do Inc(i); j:=i; while (i<=Length(s)) and not (s[i] in delims) do Inc(i); StrTok:=Copy(s,j,i-j); end; var s: String; begin s:=StrTok('- This, a sample string.',delims); repeat WriteLn(s); s:=StrTok('',delims); until s=''; end.
Объяснение кода листинга программы
- Создается тип данных TChars, который представляет собой множество символов.
- Создается константа delims, которая содержит символы-разделители.
- Определяется функция StrTok, которая принимает строку и множество символов-разделителей в качестве параметров.
- Создается переменная s, которая инициализируется пустой строкой.
- Создается переменная i, которая инициализируется единицей.
- В цикле while происходит обработка строки.
- Если строка не пустая, то переменные s и i инициализируются значениями строки и единицы соответственно.
- В цикле while происходит обработка символов строки.
- Если текущий символ является символом-разделителем из множества delims, то переменная i инкрементируется.
- После обработки всех символов строки, переменная j инициализируется значением переменной i.
- В цикле while происходит обработка оставшейся части строки.
- Если строка не пустая, то переменная s инициализируется значением переменной j.
- После обработки всей оставшейся части строки, функция StrTok возвращает результат.
- Создается переменная s, которая инициализируется функцией StrTok.
- Запускается цикл while, в котором вызывается функция StrTok для пустой строки.
- Выводится результат каждой итерации цикла.
- Цикл while завершается, когда строка становится пустой.
- Завершается программа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д