ชื่อฟังก์ชัน : strdup
ไฟล์ส่วนหัว : <string.h>
ต้นแบบฟังก์ชัน: char *strdup(const char *str);
ฟังก์ชัน : คัดลอกสตริงไปยังพื้นที่ที่สร้างขึ้นใหม่ ขั้นแรกฟังก์ชันนี้จะใช้ malloc() เพื่อกำหนดค่าขนาดพื้นที่เดียวกันกับสตริงพารามิเตอร์ str จากนั้นคัดลอกเนื้อหาของสตริงพารามิเตอร์ไปยังที่อยู่หน่วยความจำ จากนั้นส่งคืนที่อยู่ . ในที่สุดที่อยู่นี้ก็จะถูกปล่อยออกมาโดยใช้ free()
พารามิเตอร์ : char *str คือสตริงที่จะคัดลอก
ค่าที่ส่งคืน : ส่งคืนตัวชี้สตริง ซึ่งชี้ไปยังที่อยู่สตริงใหม่หลังจากการคัดลอก หากส่งคืน NULL แสดงว่าหน่วยความจำไม่เพียงพอ
หมายเหตุ : มันไม่ใช่ฟังก์ชันไลบรารีมาตรฐานและสามารถใช้ได้ภายใต้ windows เท่านั้น (VC, MinGW ฯลฯ ) จำเป็นต้องกำหนดด้วยตัวเองใน Linux GCC
ตัวอย่างโปรแกรม: คัดลอกสตริงสตริงไปที่ 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);ฟรี(dup_str);return0;}
ผลการวิ่ง:
www.dotcpp.com