Инструменты пользователя

Инструменты сайта


bb:redbook:205

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
bb:redbook:205 [2019/06/24 13:13]
prospero78 [2.8 Ввод и вывод данных]
bb:redbook:205 [2020/10/29 07:08] (текущий)
Строка 114: Строка 114:
 </code> </code>
  
-Как видно, вместо переводов строк появился парный символ ''0DX 09X'' (в шестнадцатиричном виде). Даже простой текст такому развороту поддаётся с сюрпризами. Это символ перевода строки. Результат не совсем такой, как ожидалось. Как работать со строками будет рассмотрено отдельно. В качестве самостоятельного задания попробуйте сделать так, чтобы перевод строки сохранялся((В качестве подсказки: надо найти все комбинации «0DX 09Х» и заменить их на «00Х 00Х». После разворота, найти эти же символы и заменить их опять на «0DX 09Х»)).+Как видно, вместо переводов строк появился парный символ ''0DX 09X'' (в шестнадцатиричном виде). Даже простой текст такому развороту поддаётся с сюрпризами. Это символ перевода строки. Результат не совсем такой, как ожидалось. Как работать со строками будет рассмотрено отдельно. В качестве самостоятельного задания попробуйте сделать так, чтобы перевод строки сохранялся((В качестве подсказки: надо найти все комбинации ''0DX 09Х'' и заменить их на ''00Х 00Х''. После разворота, найти эти же символы и заменить их опять на ''0DX 09Х'')).
  
  
-==== 3. Примечания ==== 
-[↑] В Паскаль-семействе трюк с пропуском нулевого элемента массива применяется повсеместно. Он бывает полезен в строках, когда чтобы точно установить длину строки — её длина содержится в нулевом элементе. Такие короткие строки (до 255 литералов) и средние строки (до 65,5 тыс. литералов) до сих пор популярны у паскалистов. Если конец строки будет испорчен, то процедуры обработки всё-равно закончат обработку по её размеру в нулевой ячейке. В этом отношении Паскаль-семейство более безопасно, чем лагерь Си — там для обозначения окончания строки в конце добавляется бинарный "00X". Можно себе представить, если вдруг в ближайших мегабайтах памяти этого символа не окажется. ,) Кроме того, затраты на подсчёт длины строки в Паскале равны нулю — подсчёт происходит мгновенно. Аналогичный подсчёт строки в Си будет выполняться крайне медленно (особенно, если строка занимает мегабайты). 
  
-[↑] В качестве подсказки: надо найти все комбинации "0DX 09Х" и заменить их на "00Х 00Х". После разворота, найти эти же символы и заменить их опять на "0DX 09Х". 
- 
-[ ← Назад  ] [ Вверх ↑ ] [ Далее → ] 
bb/redbook/205.1561371200.txt.gz · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)