Wednesday, June 13, 2012

strncpy function in C

strncpy string function is used to copy the specified no. of characters from one string to another string. This is similar to strcpy string function. But the difference is , strcpy is just copies all the characters from source string to destination string until source reaches termination character. whereas strncpy copies only n characters from the source string to destination string if there is no terminal character. If any terminal character is ther before the nth character, it will stop the copying. strncpy is not a null termination character function. So strncpy is more advisable to use over strcpy.  Because memory overwriting will not happen in strncpy.

Syntax for strncpy:

char *strncpy(char *dest, const char *src, size_t n);

strncpy function in C using array:
//using arrays , need to move the string using index
void strcpy_arry(char * dest, char *src)
{
    int i=0;
    while((dest[i]=src[i])!='\0')
        i++;
}


strncpy function in C using pointers:
//using pointers, need to move the position of the pointer
void strcpy_ptr(char *dest, char *src)
{
    while((*dest=*src)!='\0')
    {
        src++;
        dest++;
    }
}

No comments:

Popular Posts