assign(f,'a.txt');
reset(f);
while not eof(f) do
begin
readln(f,tmp);
writeln(tmp);
end;
close(f);
чтение из файла снизу вверх
Код:
Люди а как написать код, чтоб наоборот читал файл снизу вверх???
если влом самому делать стек то можно рекурсией воспользоваться )
но тут может возникнуть переполнение стека
Код:
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;
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;
А почему бы несчитать файл в строку и уже потом перевернуть ее?
Цитата: Dstr
А почему бы несчитать файл в строку и уже потом перевернуть ее?
не хватит длины строки
Цитата: nilbog
не хватит длины строки
Эт точно :)
Код:
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;
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;
Borland_prog вопрос все-таки по паскалю (судя по разделу)
А можно ли на прямую(т.е. без использования 2-го файла) добавить строку в начало файла????:confused:
нет ...