logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mempcpy, wmempcpy - copy memory area

Attributes

       For an explanation of the terms used in this section, see attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │ InterfaceAttributeValue   │
       ├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │ mempcpy(), wmempcpy()                                                       │ Thread safety │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

Description

       The  mempcpy() function is nearly identical to the memcpy(3) function.  It copies n bytes from the object
       beginning at src into the object pointed to by dest.  But instead of  returning  the  value  of  dest  it
       returns a pointer to the byte following the last written byte.

       This  function  is  useful  in situations where a number of objects shall be copied to consecutive memory
       positions.

       The wmempcpy() function is identical but takes wchar_t type arguments and copies n wide characters.

Examples

       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;
       }

History

       glibc 2.1.

Library

       Standard C library (libc, -lc)

Name

       mempcpy, wmempcpy  - copy memory area

Return Value

dest + n.

See Also

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

Linux man-pages 6.9.1                              2024-05-02                                         mempcpy(3)

Standards

       GNU.

Synopsis

#define_GNU_SOURCE         /* See feature_test_macros(7) */
       #include<string.h>void*mempcpy(voiddest[restrict.n],constvoidsrc[restrict.n],size_tn);#define_GNU_SOURCE         /* See feature_test_macros(7) */
       #include<wchar.h>wchar_t*wmempcpy(wchar_tdest[restrict.n],constwchar_tsrc[restrict.n],size_tn);

See Also