strncpy

Copies a specified number of characters from one string to another string

Local Servers:nonblocking
Remote Servers:N/A
Classification:ANSI
Service:String Manipulation

Syntax

  #include <string.h> 
    
  char *strncpy  (  
     char         *dst,   
     const char   *src,   
     size_t        n);
  

Parameters

dst
(OUT) Points to the array into which to copy the characters.
src
(IN) Points to the string containing the characters to copy.
n
(IN) Specifies the number of characters to copy.

Return Values

The strncpy function returns the value of dst.

Remarks

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.

See Also

strcpy, strdup

Example

  #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