История изменений
Исправление
Napilnik,
(текущая версия)
:
Какой метод обхода? У меня баг вообще не воспроизводится, что я и продемонстрировал, могу ещё раз.
test echo " " > test1
А длину текстового файла кто смотреть будет? Твоя команда создаёт файл с длиной 0, а у меня файлы создавались в ФМ командой из локальной менюшки и длина их сразу была 2 байта. Ну и посмотрим, что в новосозданном текстовом файле:
Создаём в том же каталоге файл 1.pp с таким текстом
VAR
Fail: FILE;
Q5: STRING;
Q2: LONGINT;
BEGIN
ASSIGN(Fail,'Текстовый файл');
RESET(Fail,1);
Q2:=FILESIZE(Fail);
WRITELN('Длина этого файла ',Q2,' байт');
IF Q2>2 THEN Q2:=2;
BLOCKREAD(Fail,Q5[1],Q2);
WRITELN(ORD(Q5[1]));
WRITELN(ORD(Q5[2]));
CLOSE(Fail);
END.$ fpc 1.pp -XX -CX$ ./1
Длина этого файла 2 байт
32
10
Теперь почему-то только один текстовой файл потёрся, тот что «запускаемый». Но это всё равно не приемлемо, у меня же могут быть башевые скрипты в каталогах или напоминалки в имени файлов - может их я стирать не собираюсь.
Исходная версия
Napilnik,
:
Какой метод обхода? У меня баг вообще не воспроизводится, что я и продемонстрировал, могу ещё раз.
test echo " " > test1
А длину текстового файла кто смотреть будет? Твоя команда создаёт файл с длиной 0, а у меня файлы создавались в ФМ командой из локальной менюшки и длина их сразу была 2 байта. Ну и посмотрим, что в новосозданном текстовом файле:
Создаём в том же каталоге файл 1.pp с таким текстом
VAR
Fail: FILE;
Q5: STRING;
Q2: LONGINT;
BEGIN
ASSIGN(Fail,'Текстовый файл');
RESET(Fail,1);
Q2:=FILESIZE(Fail);
WRITELN('Длина этого файла ',Q2,' байт');
IF Q2>2 THEN Q2:=2;
BLOCKREAD(Fail,Q5[1],Q2);
WRITELN(ORD(Q5[1]));
WRITELN(ORD(Q5[2]));
CLOSE(Fail);
END.$ fpc 1.pp -XX -CX$ ./1
Длина этого файла 2 байт
32
10