Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу файлы
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
{{CaspeR}} {{CaspeR}} вне форума
Новичок
 
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.05.2007
По умолчанию 29.05.2007, 00:18

помогите с задачкой: дано 2 файла, надо создать третий, который будет состоять из двух файлов.

вот то что у меня есть по этому поводу:
Код:
%trace
domains
    file=f1;f2;f3
predicates
    nondeterm write_to_file(file,file)
    nondeterm rewrite_file(string,string)
    write_to_disk(string)
clauses
 write_to_file(f1,f2):-
        readdevice(f1),
     not(eof(f1)),
     readchar(C),
     writedevice(f2),
     write(C),
     flush(f2),
     write_to_file(f1,f2).
 rewrite_file(S,D):-
     existfile(S),
     openread(f1,S),
     openappend(f2,D),
     write_to_file(f1,f2),
     writedevice(screen),
     closefile(f1),
     closefile(f2).
 write_to_disk(Fn):-
     openwrite(f3,Fn),
     closefile(f3).
goal 
 Fn="c:myfile.txt",
 write_to_disk(Fn),
 S="c:file.txt",
 D="c:copy.txt",
 rewrite_file(S,Fn),
 rewrite_file(D,Fn).
но к моему огромнейшему сожелению результирующий файл наполняется только одним из указаных (а именно первым...)

Помогите, пожалуйста!!!
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,993
Сказал(а) спасибо: 2
Поблагодарили 307 раз(а) в 307 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 29.05.2007, 00:46

Если файлы невелики, то:
Код:
goal
S="c:file.txt",
D="c:copy.txt",
F="c:myfile.txt",
file_str(S,Q1),
file_str(D,Q2),
concat(Q1,Q2,Q3),
file_str(F,Q3).
Ответить с цитированием
  (#3 (permalink)) Старый
{{CaspeR}} {{CaspeR}} вне форума
Новичок
 
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.05.2007
По умолчанию 29.05.2007, 01:30

Цитата:
Если файлы невелики, то:
<div class='codetop'>Код Prolog
<div class='codemain'>goal
S="c:file.txt",
D="c:copy.txt",
F="c:myfile.txt",
file_str(S,Q1),
file_str(D,Q2),
concat(Q1,Q2,Q3),
file_str(F,Q3).[/code][/quote]


А если большие? Нужно показать именно чтение из одного файла и запись во второй, если можна
Ответить с цитированием
  (#4 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 29.05.2007, 22:52

Проще всего так:
Код:
goal
In="c\\:fileIn.txt",
Out="c\\:fileOut.txt",
file_str(In,Str),
file_str(Out,Str).
А если нужно это делать, например, построчно, то используйте предикаты openread, openwrite и т.д. Примеров таких на форуме много, используйте поиск, например, на слово "openread".
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы Katty Maniako Pascal 0 31.01.2012 12:57
файлы LNK AnsweR_89 Любые вопросы от новичков 0 03.08.2011 20:13
Файлы юра 3 Форум программистов 5 30.05.2011 02:07
ФАЙЛЫ (текстовые файлы) dianochka Pascal 0 25.04.2011 23:31
lst - файлы Free Антивирусы 1 06.12.2010 21:41
QLF файлы Morlock Prolog 1 09.01.2009 16:18
Файлы imported_W_M Prolog 12 12.11.2008 23:12
Файлы imported_W_M Prolog 3 08.11.2008 13:19
Файлы OksanaIST Prolog 3 18.12.2007 22:51
Файлы strertkjh Pascal 1 28.05.2007 17:16
Можно ли создавать php-файлы, в которые вшиты другие файлы? feedbee PHP 6 04.12.2005 01:59



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов