IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Работа с файлами.
defis
сообщение 14.03.2003 10:50
Сообщение #1





Группа: Пользователи
Сообщений: 3

Репутация: -  0  +


???
Вот задачка:
Причитать текстовой файл str.txt состоящий из произвольного числа строк, и вывести в файл str1.txt этот же текст так, чтобы в каждой строке содержалось ровно по 50 знаков.
Мне сказали делать так:
Читать строку если длина меньше 50 добавалять следующие строку и обрезать и строку в 2 файл и т.к. , если больше - соответственно обрезать - ну вроде бы сказал - вопрос у мя как это провернуть?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
___ALex___
сообщение 14.03.2003 12:14
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 282

Репутация: -  0  +


берёшь и проворачиваешь
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
defis
сообщение 14.03.2003 12:25
Сообщение #3





Группа: Пользователи
Сообщений: 3

Репутация: -  0  +


Да тока как на практике??покажи если могешь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
___ALex___
сообщение 14.03.2003 14:49
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 282

Репутация: -  0  +


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


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 (модератор)

Сообщение отредактировано: Oleg_Z - 5.04.2004 11:47
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
defis
сообщение 14.03.2003 16:36
Сообщение #5





Группа: Пользователи
Сообщений: 3

Репутация: -  0  +


:D
ОФИГЕННОЕ пасибо......
работает - а насчет памяти - фигня.
Кстати у мя вопрос - я ещё одну задачу талдычу - если не получится - мона сюда?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AlaRic
сообщение 14.03.2003 16:39
Сообщение #6


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


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

Сам хоть что-нибудь напиши, а потом кидай!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
___ALex___
сообщение 14.03.2003 18:09
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 282

Репутация: -  0  +


если уж совсем ничего получаться не будет то кидай если не сильно громоздкая
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 18:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"