函數(shù)名: strdup
頭文件:<string.h>
函數(shù)原型: char *strdup(const char *str);
功能: 將字符串復制到新建立的空間,該函數(shù)會先用malloc()配置與參數(shù)str字符串相同的空間大小,然后將參數(shù)str字符串的內(nèi) 容復制到該內(nèi)存地址,然后把該地址返回。該地址最后可以利用free()來釋放。
參數(shù): char *str 為要復制的字符串
返回值: 返回一字符串指針,該指針指向復制后的新字符串地址。若返回NULL表示內(nèi)存不足。
注意: 不是標準庫函數(shù),只能在windows下(VC、MinGW等)使用,Linux GCC中需要自己定義。
程序例: 將字符串string復制到dup_str中,并將結(jié)果輸出
#include<string.h> #include<stdio.h> #include<stdlib.h> int main(void){ char *dup_str, *string = "www.sztianhecheng.cn"; dup_str = strdup(string); printf("%s\n", dup_str); free(dup_str); return 0; }
運行結(jié)果:
www.sztianhecheng.cn
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學奧賽或C++選手的 必學C++課程
藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導課程