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



         

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


    repeat

      if count < MAXTOK then

      begin

        inbuf[count] := char(c);

        inc(count);

      end;

      c := getc (inf);

    until not isalnum (c);

    ungetc (c, inf);         (* вернуть символ *)

  end;

  inbuf[count] := #0;

  (* нулевой символ в конце строки *)

  getword:=inbuf;

end;

var

  word:pchar;

begin

  while true do

  begin

    word := getword (stdin);

    if word <> nil then

      puts (word)

    else

      break;

  end;

end.

Если подать на вход программы следующий ввод

Это данные

  на входе

 программы!!!

то процедура getword вернет следующую последовательность строк:

Это

данные

на

входе

программы

!

!

!

Упражнение 11.3. Измените процедуру getword так, чтобы она распознавала также числа, которые могут начинаться со знака минус или плюс и могут содержать десятичную точку.




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