переменная типа STRING |
переменная типа STRING |
Unkind |
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: 0 |
Можно ли в переменную типа STRING ввести маркер конца строки?может ли он вообще в нем содержаться?каким образом?
|
volvo |
Сообщение
#2
|
Гость |
Переменная типа String (если ты о Паскалевском типе) устроена так, что ей не надо маркер конца строки - длина строки хранится в ее первом байте. Если надо строку с терминатором - пользуйся типом PChar - это аналог С-шных строк, оканчивающихся нулем.
В крайнем случае, можно и в String записать символ #0, но при выводе этой строки стандартными методами, такой маркер не будет приниматься во внимание: var s: string;Будет выведено test it , а не просто "test"... Можно, опять же, считать, что любой символ (например '#') - это маркер конца строки, но тогда тоже придется переписывать функции работы со строками... |
SKVOZNJAK |
Сообщение
#3
|
Профи Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Причём здесь ноль - в виндовсе и досе другой маркер конца строки. Не проверял, как выводится в виндовсе символы маркера - 13 и 10, но в линуксе всё работает. Здесь маркер состоит из одного символа с порядковым номером 10
var Сообщение отредактировано: SKVOZNJAK - |
volvo |
Сообщение
#4
|
Гость |
Цитата Причём здесь ноль - в виндовсе и досе другой маркер конца строки Правда что-ли? #13 и #10 - это вообще-то CR/LF (Carriage Return/Line Feed), что в переводе означаетЦитата Возврат каретки - символ, при выводе которого курсор перемещается к левому краю поля, не меняя высоту. Где здесь маркер, повествующий о том, что строка уже закончилась, и дальше не нужно ее просматривать, можно поподробнее?... Подача строки - символ при выводе которого «курсор» перемещается на следующую строку. |
SKVOZNJAK |
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Цитата , что в переводе означает Английский язык за качество не пинал только фанат и ленивый. Цитата Где здесь маркер, повествующий о том, что строка уже закончилась, и дальше не нужно ее просматривать, можно поподробнее? Создай простой текст в редакторах типа блокнота на разных операционках и просмотри побайтово. Нету там нуля в конце строки. Символы #13,#10 стандарт по факту маркера EOL для виндовса, #10 для линукса, #13 для макинтоша. Первоначально стандарты как раз и разрабатывались для удобства печатания: операционки-то были маленькие а принтеры матричные, насыщать текстовики вордовским мусором было совсем не обязательно. Текст набранный в блокноте: Код qwe 1234 ddfgghj А вот как этот текст выглядит в редакторе в виде двоичного файла #0 в ASCII шрифте выглядит также как и #32, и где он здесь между строк? Конец строки обозначается маркером #13,#10. Аналогичная картина в досе и линуксе, маки не тестил, но по коственным данным (кнопкам в редакторе kwrite)и там в конце строки простого текстового файла ставится не #0. Поставь #0 в концах строк в батника, запусти и полюбуйся на глюки. Похоже система об упоминаемом тобой формате ничего не знает. Сообщение отредактировано: SKVOZNJAK - |
Текстовая версия | 23.12.2024 23:04 |