Форум «Всё о Паскале» _ Теоретические вопросы _ про файлы.
Автор: Beowulf 13th 2.05.2007 22:16
Объясните мне глупому. Почему не пишет:
Код
program testa;
uses CRT;
var test: text;
begin clrscr; assign(test,'test3.txt'); rewrite(test); writeln(test,'asdfasdfsdf');
end.
создается файл, но он пустой.
Автор: volvo 2.05.2007 22:17
Закрой файл (Close), тогда буфер в него сбросится, и файл будет содержать то, что ты записывал...
Автор: Beowulf 13th 2.05.2007 22:24
пасип.
Автор: Гость 9.11.2007 1:29
нет, нельзя напрямую в файл что-то записывать (всмысле текст который тебя интересует) создай переменную типа стринг и в нее запиши то что тебя интересует, затем пиши Writeln(test,st); st:='678ghjfdgfhgfhg'; Writeln(test,st);
Автор: volvo 9.11.2007 2:25
Цитата
нет, нельзя напрямую в файл что-то записывать (всмысле текст который тебя интересует)
Правда что-ли? "А мужики-то не знают" (С)
А теперь вопрос на засыпку: если я делаю так, как показано в первом посте, какое правило (синтаксическое, логическое, еще какое-нибудь) нарушается при этом? Желательна цитата первоисточника, то есть, документации, а не твоего личного сайта.
Второй вопрос: какая (с точки зрения компилятора) разница между
var test: text; begin ... writeln(test,'asdfasdfsdf'); ... end.
и
var test: text; const s = 'asdfasdfsdf'; begin ... writeln(test, s); ... end.
?
Ну, и третий: ты проверил, работает ли программа (с учетом указанного исправления), перед тем как поднять тему, которой больше чем полгода?