Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Строки с нулем в конце (null-terminated strings)Содержание книги
Поиск на нашем сайте
Структура строки в Паскале (в той версии языка, которая была реализована ком- панией Borland еще для системы MS-DOS, когда операционной системы Windows не существовало) отличается от структуры строки, которая обрабатывается сис- темными вызовами Windows. Эта структура характеризуется тем, что отсчет сим- волов в строке начинается с нуля, а завершается строка символом с кодом 0 (#0). Тип строки с нулем в конце в зависимости от типа составляющих ее символов назы- вается РСhаг или PWideChar, Л ПОДСКАЗКА В Паскале в большинстве случаев разрешается смешивать эти типы, но при программировании рекомендуется придерживаться, в основном, типа String, а к типу РСпаг прибегать только, когда без этого не обойтись. Строки фиксированной длины По умолчанию строка типа String может иметь размер до 2 Гбайт, а оперативная память для нее выделяется программой автоматически, в зависимости от текущей длины строки. В некоторых случаях бывает полезно ограничить длину строки неболь- шим фиксированным значением. Чаще всего это требуется при работе с файлами, которые содержат текстовую информацию в заранее известном формате. Для явного указания длины после ключевого слова string в квадратных скобках задается число, определяющее эту длину. string[50] Для такой строки на этапе компиляции будет выделена область памяти в 50 симво- лов. Строку большей длины (например, 51 символ) записать в нее нельзя (меньшей - можно, но объем зарезервированной для строки памяти останется неизменным). Строковые выражения Для строк операция — сложение или сцепление, обознача- емая символом ≪+≫. Результатом является строка, полученная сцеплением левого и правого операндов. Выражение '* это' + ' строка' +'!' имеет значение '* это строка!' Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false). Операция отношения имеет приоритет более низкий, чем операция сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы. Пример:
Функция Copy(S, Pozition, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pozition. Здесь N и Pozition — целочисленные выражения. Пример:
Функция Concat(S1, S2, …, SN) выполняет сцепление (конкатенацию) строк S1, S2, …, SN в одну строку. Пример:
Функция Length(S) — определяет текущую длину строки S. Результат — значение целого типа. Пример:
Функция Pos(S1, S2) — обнаруживает первое появление в строке S2 подстроки S1. Результат — целое число, равное номеру позиции, где находится первый символ подстроки S1. Если в S2 подстроки S1 не обнаружено, то результат равен 0. Пример:
Процедура Delete(S, Poz, N) — удаление N символов из строки S, начиная с позиции Poz. Пример:
В результате выполнения процедуры уменьшается текущая длина строки в переменной S. Процедура Insert(S1, S2, Poz) — вставка строки S1 в строку S2, начиная с позиции Poz. Пример:
ShortString, String[15] Length(S) = Ord(S[0]) S:= 'ABC'; //S[1]='A' PChar @ ^Char (ASCIIZ) CP:= 'ABC'; //CP^='A', CP[0]='A', CP+1='BC', CP+3='', CP[3]=#0 String (HugeString)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 265; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.41.108 (0.005 с.) |