_memccpy

Kopiuje znaki z buforu.

Składnia

void *_memccpy(
   void *dest,
   const void *src,
   int c,
   size_t count
);

Parametry

dest
Wskaźnik do miejsca docelowego.

src
Wskaźnik do źródła.

c
Ostatni znak do skopiowania.

count
Liczba znaków.

Wartość zwracana

Jeśli znak c jest kopiowany, _memccpy zwraca wskaźnik do znaku , który dest natychmiast następuje po znaku. Jeśli c nie zostanie skopiowany, zwraca wartość NULL.

Uwagi

Funkcja _memccpy kopiuje zero lub więcej znaków src do dest, zatrzymując się, gdy znak c został skopiowany lub kiedy count znaki zostały skopiowane, w zależności od tego, co nastąpi wcześniej.

Uwaga zabezpieczeń Upewnij się, że bufor docelowy ma ten sam rozmiar lub większy niż bufor źródłowy. Aby uzyskać więcej informacji, zobacz Unikanie przekroków buforu.

Wymagania

Procedura Wymagany nagłówek
_memccpy <memory.h> lub <string.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Biblioteki

Wszystkie wersje bibliotek czasu wykonywania języka C.

Przykład

// crt_memccpy.c

#include <memory.h>
#include <stdio.h>
#include <string.h>

char string1[60] = "The quick brown dog jumps over the lazy fox";

int main( void )
{
   char buffer[61];
   char *pdest;

   printf( "Function: _memccpy 60 characters or to character 's'\n" );
   printf( "Source: %s\n", string1 );
   pdest = _memccpy( buffer, string1, 's', 60 );
   *pdest = '\0';
   printf( "Result: %s\n", buffer );
   printf( "Length: %d characters\n", strlen( buffer ) );
}

Wynik

Function: _memccpy 60 characters or to character 's'
Source: The quick brown dog jumps over the lazy fox
Result: The quick brown dog jumps
Length: 25 characters

Zobacz też

Manipulowanie buforem
memchr, wmemchr
memcmp, wmemcmp
memcpy, wmemcpy
memset, wmemset