--- title: ffi.copy summary: Копирует байты в подготовленный буфер. Без длины допустима строка Lua: копируется также нулевой терминатор. section: reference kind: api status: reference updated: 2026-10-26 tags: ["API","X4"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/","https://www.lua.org/manual/5.1/manual.html","https://luajit.org/ext_ffi_api.html"] --- ## Возвращаемое значение | Тип | Значение | | --- | --- | | [`none`](wiki:type-results) | Тип описывает объявленный интерфейс, а не успешный игровой эффект. | [Типы и методы](wiki:types) ## Параметры | Имя | Тип | | --- | --- | | `destination` | [`cdata`](wiki:type-cdata) | | `source` | [`string`](wiki:type-string) \| [`cdata`](wiki:type-cdata) | | `length (optional only for string source)` | [`number`](wiki:type-number) | ? обозначает необязательный аргумент, ... обозначает переменное количество аргументов. Недопустимый аргумент может вызвать ошибку Lua вместо возврата nil. ## Пример и контекст ```lua local ffi = require("ffi") local buffer = ffi.new("char[4]") ffi.copy(buffer, "abc") ``` **Что произойдёт:** buffer содержит байты abc и нулевой терминатор. Прямого результата функции нет. Этот фрагмент не печатает сообщение и не пишет его в журнал. Здесь указаны ожидаемые значения примера. Смотрите [основы языка](wiki:x4-code-basics), [типы и методы](wiki:types) и [события Lua / MD](wiki:md-lua-bridge). Там приведены самостоятельные учебные примеры. Исходные файлы проектов и фрагменты их внутренней реализации в этом справочнике не распространяются.