اسم الوظيفة : strdup
ملف الرأس : <string.h>
النموذج الأولي للوظيفة: char *strdup(const char *str);
الوظيفة : انسخ السلسلة إلى المساحة التي تم إنشاؤها حديثًا. ستستخدم هذه الوظيفة أولاً malloc() لتكوين نفس حجم المساحة مثل سلسلة المعلمة، ثم انسخ محتوى سلسلة المعلمة إلى عنوان الذاكرة، ثم قم بإرجاع العنوان. . يمكن أخيرًا تحرير هذا العنوان باستخدام free().
المعلمات : char *str هي السلسلة المراد نسخها
قيمة الإرجاع : تقوم بإرجاع مؤشر سلسلة يشير إلى عنوان السلسلة الجديد بعد النسخ. إذا تم إرجاع NULL، فهذا يشير إلى عدم كفاية الذاكرة.
ملاحظة : إنها ليست وظيفة مكتبة قياسية ولا يمكن استخدامها إلا ضمن نظام التشغيل Windows (VC، وMinGW، وما إلى ذلك). ويجب تعريفها بنفسك في Linux Gulf.
مثال برنامج: انسخ السلسلة النصية إلى dup_str وأخرج النتيجة
#include<string.h>#include<stdio.h>#include<stdlib.h>intmain(void){char*dup_str,*string=www.dotcpp.com;dup_str=strdup(string);printf(%s) n,dup_str);free(dup_str);return0;}
نتائج التشغيل:
www.dotcpp.com