Копировать содержимое области памяти до заданного байта
#include <string.h>void * memccpy( void *dest,const void *src,int c,size_t cnt );
libc
Функция memccpy() копирует данные из src в dest, пока не обнаружит символ c (включительно), или пока не скопирует cnt байт до обнаружения символа c.
Указатель на байт в буфере dest, в котором располагается символ c, если он найден и скопирован, иначе NULL
.
#include <stdio.h>#include <string.h>#include <stdlib.h>char *msg = "This is the string: not copied";int main( void ){char buffer[80];memset( buffer, '\0', 80 );memccpy( buffer, msg, ':', 80 );printf( "%s\n", buffer );return (EXIT_SUCCESS);}
Код генерирует следующий вывод:
$ ./a.out This is the string:
POSIX 1003.1 X/Open Systems Interfaces Extension
memchr(), memcmp(), memcpy(), memicmp(), memmove(), memset()
Предыдущий раздел: Описание API системной библиотеки