Помощь - Поиск - Пользователи - Календарь
Полная версия: Копирование текстового файла
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
sheka
var
fin,fout: text;
s: string[4];
begin
assign(fin,'in.txt');
reset(fin);
assign(fout,'out.txt');
rewrite(fout);
while not eof(fin) do
begin
read(fin,s);
write(fout,s);
end;
close(fin);
close(fout);
end.


in.txt:
mamapapaz

Тов. препод утверждает, что в конце нового файла должны появиться пробелы. У меня их нет. Почему?

-TarasBer-
Потому что препод думает, что при длине файла, не кратной 4, в последнюю строку допишутся пробелы (когда файл закончится на середине строки).
А на самом деле, последняя строка обрезается и такой код работает корректно.
sheka
Логично, что он так думает smile.gif
Да, забыл добавить стандартный вопрос: lol.gif
если пробелы добавляются, то в каких версиях компилятора?
-TarasBer-
Я вот, пока не запустил, думал, что он добавит в конец 3 раза №26
volvo
Цитата
если пробелы добавляются, то в каких версиях компилятора?
Не должны добавляться ни в каких. За корректностью чтения строки из файла следит процедура Read. Если она написана правильно - то длина строки будет установлена корректно. Если неправильно - то может быть вообще все что угодно. Из распространенных компиляторов не видел ни одного, который бы позволял себе подобные вольности. Может, где-нибудь в самописных паскаль-компиляторах и будут добавляться пробелы (на exmortis их навалом, каждый считает своим долгом выложить в сеть результат курсовой по разработке компиляторов)
Lapp
Тарас, я не врубаюсь в твои рассуждения про четверки. Ты имеешь в виду процессорное слово? А при чем тут оно? А может, тогда, уже 8-рки? Понятно, впрочем, что файл займет на диске место в один блок, то есть обычно 4КБ. Но я сомневаюсь, что остаток блока будет чем-то записан. Впрочем, речь все равно не о том )).
Я думаю, препод имел в виду дополнение до полного размера строки. Хотя, может, я и не прав ("никогда не знаешь, что придет в голову пчелам" (С))

Все это доволно странно.. Во-первых - это совешенно не согласуется с концепцией. Во-вторых - ну почему именно пробелы??? А в третьих - что ж, он ни разу не писал файлы из строк по 1-2 символа?.. blink.gif

Шека, тебе пора книжку с его перлами издавать..
TarasBer
> Тарас, я не врубаюсь в твои рассуждения про четверки.

Строка же задана как 4-символьная.

> Я думаю, препод имел в виду дополнение до полного размера строки.

Да, я про то же.
Lapp
Цитата(TarasBer @ 12.01.2011 10:00) *
Строка же задана как 4-символьная.
Фу ты, млин, извиняиваюсь.. lol.gif где были мои глаза? )))
TarasBer
Ну да, раз TarasBer, значит очередное байтоложество будет втирать...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.