
- C Library - Home
- C Library - <assert.h>
- C Library - <complex.h>
- C Library - <ctype.h>
- C Library - <errno.h>
- C Library - <fenv.h>
- C Library - <float.h>
- C Library - <inttypes.h>
- C Library - <iso646.h>
- C Library - <limits.h>
- C Library - <locale.h>
- C Library - <math.h>
- C Library - <setjmp.h>
- C Library - <signal.h>
- C Library - <stdalign.h>
- C Library - <stdarg.h>
- C Library - <stdbool.h>
- C Library - <stddef.h>
- C Library - <stdio.h>
- C Library - <stdlib.h>
- C Library - <string.h>
- C Library - <tgmath.h>
- C Library - <time.h>
- C Library - <wctype.h>
- C Programming Resources
- C Programming - Tutorial
- C - Useful Resources
C library - strncat() function
The C library strncat() function takes three variable as parameters which appends the string pointed to by src to the end of the string pointed to by dest up to n characters long.
Below are some key points that highlight its importance −
- It prevent the buffer overflow
- It control over string size.
- This function safely handle the string.
- It maintain the integrity and robustness of software application.
Syntax
Following is the syntax of the C library function strncat() −
char *strncat(char *dest, const char *src, size_t n)
Parameters
This function accepts the following parameter −
dest − This is pointer to the destination array, which should contain a C string, and should be large enough to contain the concatenated resulting string which includes the additional null-character.
src − This is the string to be appended.
n − This is the maximum number of characters to be appended.
Return Value
This function returns a pointer to the resulting string dest.
Example 1
Following is the basic C library program that demonstrates the usage of strncat() function.
#include <stdio.h> #include <string.h> int main () { char src[50], dest[50]; strcpy(src, "This is source"); strcpy(dest, "This is destination"); strncat(dest, src, 15); printf("Final destination string : |%s|", dest); return(0); }
Output
The above code produces the following result −
Final destination string : |This is destinationThis is source|
Example 2
In this example, we utilize the concatenation of fixed-length substring from the source string to the destination string using strncat().
#include <stdio.h> #include <string.h> int main() { char dest[20] = "Hello, "; char src[] = "Beautiful World!"; // Append "World" strncat(dest, src + 10, 5); printf("Concatenated substring: %s\n", dest); return 0; }
Output
After executing the above code, we get the following result −
Concatenated substring: Hello, World
Example 3
Below the program demonstrates the source string to the destination string by ensuring a fixed length.
#include <stdio.h> #include <string.h> void customStrncat(char* dest, const char* src, size_t n) { size_t dest_len = strlen(dest); size_t i; for (i = 0; i < n && src[i] != '\0'; i++) { dest[dest_len + i] = src[i]; } // Null-terminate the result dest[dest_len + i] = '\0'; } int main() { char dest[20] = "Hello, "; char src[] = "World!"; // Append "World" customStrncat(dest, src, 5); printf("Custom concatenated string: %s\n", dest); return 0; }
Output
On execution of above code, we get the following result −
Custom concatenated string: Hello, World