top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

Facebook Login
Site Registration

Difference between strdup and strcpy?

+4 votes


posted Nov 9, 2013 by Mona Sharma

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

2 Answers

+1 vote
Best answer

strdup function allocates memory according to the size of input and if memory not available then it will fail,But in case of strcpy while copying the the source string to destination it never checks the size of the destination.So it will be problem if destination size is smaller.

answer Nov 9, 2013 by Sachidananda Sahu
+3 votes

Both copy a string. strcpy wants a buffer to copy into. strdup allocates a buffer using malloc().
Unlike strcpy(), strdup() is not specified by ANSI .

answer Nov 9, 2013 by Vikas Upadhyay
Similar Questions
+3 votes

I have a question about this following code.

char a[4] = {"aaa"};
strcpy(a, "bb");

When I do this after function copies bb to the array it puts '\0' ? I mean last for array would be 'b' 'b' 'a' '\0' or 'b' 'b' '\0' '\0'.

Contact Us
+91 9880187415
#280, 3rd floor, 5th Main
6th Sector, HSR Layout
Karnataka INDIA.