strncpy()
QNX SDP8.0C Library ReferenceAPIDeveloper
Copy a string, to a maximum length
Synopsis:
#include <string.h>
char* strncpy( char* dst,
const char* src,
size_t n );
Arguments:
- dst
- A pointer to where you want to copy the string.
- src
- The string that you want to copy.
- n
- The maximum number of characters that you want to copy.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The strncpy() function copies no more than n characters from the string pointed to by src into the array pointed to by dst.
Note:
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.
Returns:
The same pointer as dst.
Examples:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( void )
{
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 ) );
return EXIT_SUCCESS;
}
produces the output:
abcdefg
123456g
abc456g
abc456g
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |
Page updated: