PureBasic

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

Все

<- CopyMemory() - Оглавление Memory - FillMemory()->

B��:!�?