Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

чтение из файла снизу вверх

2.2K
25 марта 2007 года
00mike00
82 / / 17.09.2006
ВОт этот отрывок кода читает файл с верху вниз:
 
Код:
assign(f,'a.txt');
    reset(f);
    while not eof(f) do
    begin
    readln(f,tmp);
    writeln(tmp);
    end;
    close(f);

Люди а как написать код, чтоб наоборот читал файл снизу вверх???
622
25 марта 2007 года
nilbog
507 / / 19.12.2006
самое здравое что приходит в голову сделать стек и туда считать файл
если влом самому делать стек то можно рекурсией воспользоваться )
но тут может возникнуть переполнение стека
Код:
procedure fileInBack(var f:F);
procedure wr(var f:F);
var c:char;{тип эл-ов файла}
begin
 read(f,c);
 if not eof(f) then wr(f); {у файлов text нужно еще проверять eoln и реагировать соотв образом}
 write(c)
end;
begin
reset(f);
if not eof(f) then wr(f)
end;
2.0K
25 марта 2007 года
Dstr
158 / / 27.04.2006
А почему бы несчитать файл в строку и уже потом перевернуть ее?
622
25 марта 2007 года
nilbog
507 / / 19.12.2006
Цитата: Dstr
А почему бы несчитать файл в строку и уже потом перевернуть ее?


не хватит длины строки

2.2K
25 марта 2007 года
00mike00
82 / / 17.09.2006
Цитата: nilbog
не хватит длины строки



Эт точно :)

1.9K
25 марта 2007 года
Borland_prog
149 / / 25.01.2006
Можно (в принципе) так:
Код:
var
  FH: Cardinal;
  FLen: Integer;
  buf: array[0..1] of char;
  ReadCount: Cardinal;
  StrOut: String;
begin
  FH:= CreateFile(PansiChar('C:\file.ext'), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
  FLen:= GetFileSize(FH, nil);
  while FLen > 0 do
  begin
    SetFilePointer(FH, Flen - 1, nil, 0);
    ReadFile(FH, buf, 1, ReadCount, nil);
    StrOut:= Strout + buf;
    FLen:= Flen - 1;
  end;
  CloseHandle(FH);
  showmessage(StrOut);
end;
622
25 марта 2007 года
nilbog
507 / / 19.12.2006
Borland_prog вопрос все-таки по паскалю (судя по разделу)
2.2K
25 марта 2007 года
00mike00
82 / / 17.09.2006
А можно ли на прямую(т.е. без использования 2-го файла) добавить строку в начало файла????:confused:
622
25 марта 2007 года
nilbog
507 / / 19.12.2006
нет ...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог