Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
defis
???
Вот задачка:
Причитать текстовой файл str.txt состоящий из произвольного числа строк, и вывести в файл str1.txt этот же текст так, чтобы в каждой строке содержалось ровно по 50 знаков.
Мне сказали делать так:
Читать строку если длина меньше 50 добавалять следующие строку и обрезать и строку в 2 файл и т.к. , если больше - соответственно обрезать - ну вроде бы сказал - вопрос у мя как это провернуть?
___ALex___
берёшь и проворачиваешь
defis
Да тока как на практике??покажи если могешь.
___ALex___
вот!
здесь входной файл читается побайтно и данные в выходной пишутся тоже побайтно(посимвольно)
в связи с этим много обращений к винту, но я дал тебе идею, оптимизировать можно
сколько угодно (увеличивая буфер чтения и записи).
Код


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

Сам хоть что-нибудь напиши, а потом кидай!
___ALex___
если уж совсем ничего получаться не будет то кидай если не сильно громоздкая
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.