strncpy
Copies a specified number of characters from one string to another string
#include <string.h> char *strncpy ( char *dst, const char *src, size_t n);
The strncpy function returns the value of dst.
The strncpy function copies no more than n characters from the string pointed to by src into the array pointed to by dst. Copying of overlapping objects is not guaranteed to work properly. See the memmove function if you want to copy objects that overlap.
If the string pointed to by src is shorter than n characters, NULL characters are appended to the copy in the array pointed to by dst, until n characters in all have been written. If the string pointed to by src is longer than n characters, only n characters are copied. No NULL characters are placed in dst.
#include <string.h> #include <stdio.h> main () { char buffer[15]; printf ("%s\n", strncpy( buffer, "abcdefg", 10) ); printf ("%s\n", strncpy( buffer, "1234567", 6) ); printf ("%s\n", strncpy( buffer, "abcdefg", 3) ); printf ("%s\n", strncpy( buffer, "*******", 0) ); }
produces the following:
abcdefg 123456g abc456g abc456g