c語言編寫strcpy函數(shù) c語言從一字符串的第N位開始復(fù)制到另一字符串全過程最好用指針?
c語言從一字符串的第N位開始復(fù)制到另一字符串全過程最好用指針?Voidmian(){char*STR=“IloveChina”charstr1[10]inti,jscanf(%d%d”,I,J)cha
c語言從一字符串的第N位開始復(fù)制到另一字符串全過程最好用指針?
Voidmian(){char*STR=“IloveChina”charstr1[10]inti,jscanf(%d%d”,I,J)char*PP=stringk=0while(K<I){P}K=0while(K<J){STR1[K]=*P}printf(%s”,STR1)}表示字符串復(fù)制和鏈接。我們通常認為字符串復(fù)制函數(shù)strcpy和字符串鏈接函數(shù)strcat。但是在工程中不能使用strcpy和strcat函數(shù),因為這兩個函數(shù)有內(nèi)存泄漏的風(fēng)險。當源字符串超出目標字符數(shù)組的空間時,將發(fā)生內(nèi)存泄漏。我們可以使用字符串復(fù)制函數(shù)strncpy和字符串連接函數(shù)strncat。
strncpy函數(shù)的原型是char*strncpy(char*DeST,const,char*SRC,size)函數(shù):SRC指向字符的字符串的前面大小被復(fù)制到DeST指向的字符數(shù)組中,并返回指向DeST的指針。
字符數(shù)組的上述兩個dest點應(yīng)足以容納大小字符。如果復(fù)制SRC指向的整個字符串,則size可以替換為sizeof(SRC)tn。這兩個函數(shù)還包括頭文件include<string。H>
代碼示例:
#include<stdio。H>
void copyuString(char*STR1,char*STR2)//函數(shù)聲明
int main()
{
char STR1[20
]char STR2[20
]puts(“please input String STR1:”)
get(STR1)//獲取從鍵盤輸入的字符串
copyuString(STR1,STR2)
printf(“String STR2:sn”,STR2)
return 0
}
void copyuString(char*STR1,char*STR2)//自定義字符串連接函數(shù)
{
int i=0
while(STR1[i]!=0)
{
STR2[i]=STR1[i
]i
}
STR2[i]=“0”//添加字符串終止符
}