Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
klem4
Есть типизированный файл f of char , заполненный символами, во второй файл
g в него нужно записать , сохраняя исходную последоватльность те символы файла f, которые идут перед символом 'a'

заполнения файла f
procedure FillFile(var FF:file of char);
var
ch:char;
begin
repeat
ch:=readkey;
writeln(ch);
if ch in [#65..#97] then
write(f,ch);
until ch=#13;
end;


и процедура, которая не работает, если ввести в файл f символы sa
то после прочтения s возвращает false в проверке if not Eof(FF) then

тоесть перед прочтением символа 'a'. Это правильно ?

procedure ChekFile2(var FF,GG:file of char);
var
old,next:char;
begin
while not(Eof(FF)) do begin
read(FF,old);
if not Eof(FF) then
read(FF,next);
if next='a' then
write(GG,old);
end;
end;
volvo
Цитата(klem4 @ 5.07.05 13:26)
процедура, которая не работает, если ввести в файл f символы sa то после прочтения s возвращает false в проверке if not Eof(FF) then

тоесть перед прочтением символа 'a'. Это правильно ?

Нет... А ты что, считаешь что 's' будет вообще записан в первый файл? Вообще-то 's' это #115, у тебя же там интервал другой стоит...
klem4
конечно! Естественно нужно [#97..#122]... поставил сначала не подумав, не знаю почему мне те цифры в голову взбрели smile.gif)))

спасибо smile.gif
volvo
Вот тебе преимущество такой записи:
if ch in ['a' .. 'z'] then

и не было бы ошибки :P
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.