CopyMemoryString()
Синтаксис
Result = CopyMemoryString(*String [, @*DestinationMemoryID])
Описание
Копирует строку с указанного адреса *String в область памяти с начальным адресом @*DestinationMemoryID, если он указан. Если последний параметр опущен, то строка копируется в конец целевой (приёмной) области памяти оставшейся от предыдущего вызова CopyMemoryString.
Параметры
*String Адрес строки в памяти, которую требуется скопировать. Строка должна завершаться нулевым символом (#Null). Ожидается, что строка будет в формате строки PB. @*DestinationMemoryID (дополн.) Указатель на переменную, содержащую адрес с целевой областью памяти. После копирования строки переменная *DestinationMemoryID будет указывать на нуль-символ (#Null) в конце скопированной строки, поэтому следующий вызов функции CopyMemoryString добавит новую строку к предыдущей.
Если этот параметр опущен, будет использован конечный адрес предыдущего вызова функции CopyMemoryString. Соответственно первый вызов функции CopyMemoryString для данного буфера памяти, обязательно должен содержать параметр @*DestinationMemoryID.
Возвращаемое значение
Возвращает обновлённое значение *DestinationMemoryID после копирования строки.
Пример: Конкатенация строк (сращивание)
*Buffer = AllocateMemory(1000) *Pointer = *Buffer CopyMemoryString("Hello", @*Pointer) CopyMemoryString(" World") ; Эта строка встанет сразу после "Hello" *Pointer-4 ; Идём назад на 2 символа (на символ 'l' в 'World') CopyMemoryString("LD") ; Теперь последние символы будут в верхнем регистре. Debug PeekS(*Buffer)
См. также
CopyMemory(), PeekS(), PokeS()
Поддерживаемые OS
Все