Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       mempcpy, wmempcpy — копирует участок памяти

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #define _GNU_SOURCE         /* см. feature_test_macros(7) */
       #include <string.h>

       void *mempcpy(void dest[restrict .n], const void src[restrict .n],
                     size_t n);

       #define _GNU_SOURCE         /* смотрите feature_test_macros(7) */
       #include <wchar.h>

       wchar_t *wmempcpy(wchar_t dest[restrict .n],
                     const wchar_t src[restrict .n],
                     size_t n);

ОПИСАНИЕ

       Функция  mempcpy() почти идентична memcpy(3). Она копирует n байт из src в dest, но вместо
       возвращения значения dest, она  возвращает  указатель  на  байт,  следующий  за  последним
       записанным байтом.

       Она  удобна  если  требуется  скопировать  несколько  участков  памяти  в  другой  участок
       последовательно, чтобы они располагались в нем друг за другом.

       wmempcpy() делает тоже самое, но принимает wchar_t тип аргументов  и  копирует  n  широких
       символов.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       dest + n.

ВЕРСИИ

       mempcpy()  first appeared in glibc 2.1.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ИнтерфейсАтрибутЗначение │
       ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │mempcpy(), wmempcpy()                                  │ Безвредность в нитях │ MT-Safe  │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       Эта функция является расширением GNU.

ПРИМЕРЫ

       void *
       combine(void *o1, size_t s1, void *o2, size_t s2)
       {
           void *result = malloc(s1 + s2);
           if (result != NULL)
               mempcpy(mempcpy(result, o1, s1), o2, s2);
           return result;
       }

СМ. ТАКЖЕ

       memccpy(3), memcpy(3), memmove(3), wmemcpy(3)

ПЕРЕВОД

       Русский  перевод  этой страницы руководства был сделан aereiae <aereiae@gmail.com>, Alexey
       <a.chepugov@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>,  Dmitriy  S.  Seregin
       <dseregin@59.ru>,       Dmitry      Bolkhovskikh      <d20052005@yandex.ru>,      ITriskTI
       <ITriskTI@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>,  Иван
       Павлов <pavia00@gmail.com> и Малянов Евгений Викторович <maljanow@outlook.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.