I found this old thread, where it says that one has the strdup defined in stdlib.h instead of the string.h , because it is not standard C.
Compiler error: warning: implicit declaration of function 'strdup'
I found this link for string.h ,where strdup is part of it
<string.h>
I looked in another forum with good documentation,and it does not have it
cstring (string.h) - C++ Reference
So,is it standard or not?