Copy bytes between buffers until a given byte is found
#include <string.h> void* memccpy( void *dest, const void *src, int c, size_t n );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The memccpy() function copies bytes from src to dest, up to and including the first occurrence of the character c (converted into an unsigned char), or until n bytes have been copied, whichever comes first.
A pointer to the byte in dest following the character c, if one is found and copied; otherwise, 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; }
produces the output:
This is the string:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |