Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Работа с файлами.

Автор: defis 14.03.2003 14:50

???
Вот задачка:
Причитать текстовой файл str.txt состоящий из произвольного числа строк, и вывести в файл str1.txt этот же текст так, чтобы в каждой строке содержалось ровно по 50 знаков.
Мне сказали делать так:
Читать строку если длина меньше 50 добавалять следующие строку и обрезать и строку в 2 файл и т.к. , если больше - соответственно обрезать - ну вроде бы сказал - вопрос у мя как это провернуть?

Автор: ___ALex___ 14.03.2003 16:14

берёшь и проворачиваешь

Автор: defis 14.03.2003 16:25

Да тока как на практике??покажи если могешь.

Автор: ___ALex___ 14.03.2003 18:49

вот!
здесь входной файл читается побайтно и данные в выходной пишутся тоже побайтно(посимвольно)
в связи с этим много обращений к винту, но я дал тебе идею, оптимизировать можно
сколько угодно (увеличивая буфер чтения и записи).

Код


program ForForum;
var
 InF: File;
 OutF: Text;
 Buf: Char;
 RealR: Word;
 i: Byte;

Begin

 Assign(InF, 'C:Bootlog.txt');
 Reset(InF, 1);
 Assign(OutF, 'C:New.txt');
 Rewrite(OutF);
 repeat
  BlockRead(InF, Buf, 1, RealR);
  if RealR <> 1 then Break;
  if not (Buf in [#10, #13]) then begin
   Inc(i);
   if i = 50 then begin
    i := 0;
    WriteLn(OutF, Buf)
   end else Write(OutF, Buf);
  end;
 until False;
 Close(InF);
 Close(OutF)

End.



программа заключена в тег CODE (модератор)

Автор: defis 14.03.2003 20:36

:D
ОФИГЕННОЕ пасибо......
работает - а насчет памяти - фигня.
Кстати у мя вопрос - я ещё одну задачу талдычу - если не получится - мона сюда?

Автор: AlaRic 14.03.2003 20:39

Цитата
Кстати у мя вопрос - я ещё одну задачу талдычу - если не получится - мона сюда?

Сам хоть что-нибудь напиши, а потом кидай!

Автор: ___ALex___ 14.03.2003 22:09

если уж совсем ничего получаться не будет то кидай если не сильно громоздкая