![]() |
![]() |
![]() |
copy a string, to a maximum length
#include <string.h> char *strncpy( char *dst, const char *src, size_t n ); char __far *_fstrncpy( char __far *dst, const char __far *src, size_t n );
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 isn't guaranteed to work properly. See the memmove() function if you wish 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, then the result isn't terminated by a null character.
The _fstrncpy() function is a data-model-independent form of the strncpy() function. It accepts far pointer arguments, and returns a far pointer. It's most useful in mixed memory model applications.
The value of dst.
#include <stdio.h> #include <string.h> void 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 output:
abcdefg 123456g abc456g abc456g
Safety: | |
---|---|
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
![]() |
![]() |
![]() |