The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
strdup() is one of the inbuilt string function in c programming which is used to duplicate a given string.
The following diagram clearly illustrate the working principle of strdup() inbuilt string function in C.
In the above diagram strdup() takes single parameter say a str whose duplicate string will be generated by strdup() and assigned to another character variable say a dupstr.
strdup(str);
Let us work through strdup() function. In the following program we will create a duplicate string using strdup() inbuilt string function.
#include <stdio.h> #include<string.h> int main() { char str1[30] = "this is strdup", *str2; str2 = strdup(str1); printf("The Original string is : %s ", str1); printf("\nThe duplicated string is : %s ", str2); return 0; }
The Original string is : this is strdup The duplicated string is : this is strdup
The above program prints the duplicated string of str1.
Let us duplicate a string without using inbuilt string function strdup().
#include <stdio.h> #include<string.h> int main() { char str1[30] = "this is strdup", *str2; char i; str2 = str1; printf("The Original string is : %s ", str1); printf("\nThe duplicated string is :"); for(i=0;str1[i]!='\0';i++) { printf("%c", *str2++); } return 0; }
The Original string is : this is strdup The duplicated string is : this is strdup
The above program looks verbose but yields the same result.
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019