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


         

Если подать на вход программы


    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 так, чтобы она распознавала также числа, которые могут начинаться со знака минус или плюс и могут содержать десятичную точку.

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