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

> Правила раздела!

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

 
 Ответить  Открыть новую тему 
> Копирование текстового файла
sheka
сообщение 11.01.2011 16:30
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

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


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

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

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-TarasBer-
сообщение 11.01.2011 19:21
Сообщение #2


Гость






Потому что препод думает, что при длине файла, не кратной 4, в последнюю строку допишутся пробелы (когда файл закончится на середине строки).
А на самом деле, последняя строка обрезается и такой код работает корректно.
 К началу страницы 
+ Ответить 
sheka
сообщение 11.01.2011 19:38
Сообщение #3


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

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


Логично, что он так думает smile.gif
Да, забыл добавить стандартный вопрос: lol.gif
если пробелы добавляются, то в каких версиях компилятора?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-TarasBer-
сообщение 11.01.2011 19:49
Сообщение #4


Гость






Я вот, пока не запустил, думал, что он добавит в конец 3 раза №26
 К началу страницы 
+ Ответить 
volvo
сообщение 11.01.2011 20:07
Сообщение #5


Гость






Цитата
если пробелы добавляются, то в каких версиях компилятора?
Не должны добавляться ни в каких. За корректностью чтения строки из файла следит процедура Read. Если она написана правильно - то длина строки будет установлена корректно. Если неправильно - то может быть вообще все что угодно. Из распространенных компиляторов не видел ни одного, который бы позволял себе подобные вольности. Может, где-нибудь в самописных паскаль-компиляторах и будут добавляться пробелы (на exmortis их навалом, каждый считает своим долгом выложить в сеть результат курсовой по разработке компиляторов)
 К началу страницы 
+ Ответить 
Lapp
сообщение 12.01.2011 7:21
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Тарас, я не врубаюсь в твои рассуждения про четверки. Ты имеешь в виду процессорное слово? А при чем тут оно? А может, тогда, уже 8-рки? Понятно, впрочем, что файл займет на диске место в один блок, то есть обычно 4КБ. Но я сомневаюсь, что остаток блока будет чем-то записан. Впрочем, речь все равно не о том )).
Я думаю, препод имел в виду дополнение до полного размера строки. Хотя, может, я и не прав ("никогда не знаешь, что придет в голову пчелам" (С))

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

Шека, тебе пора книжку с его перлами издавать..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 12.01.2011 10:00
Сообщение #7


Злостный любитель
*****

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

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


> Тарас, я не врубаюсь в твои рассуждения про четверки.

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

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

Да, я про то же.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 12.01.2011 10:32
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 12.01.2011 11:38
Сообщение #9


Злостный любитель
*****

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

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


Ну да, раз TarasBer, значит очередное байтоложество будет втирать...


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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