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)}
例如,如果源字符串是s,要將其復(fù)制到另一個(gè)字符串t中,必須滿足s的所有元素,否則會(huì)很危險(xiǎn)。例如,代碼如下://#include“StdAfx。H“//如果是VC 6.0,用這行。#包括“stdio。“intmain(void){char*s=”敏捷的棕色狐貍跳過一只懶狗。1234567890“char*PS=s,t[60],*Pt=t while(*Pt=*PS)//這會(huì)將所有s復(fù)制到t printf(%s”,t)//鍵入它。。。Return 0}
說到字符串復(fù)制和連接,我們通常會(huì)想到字符串復(fù)制函數(shù)strcpy和字符串連接函數(shù)strcat。但是在工程中不能使用strcpy和strcat函數(shù),因?yàn)檫@兩個(gè)函數(shù)有內(nèi)存泄漏的風(fēng)險(xiǎn)。當(dāng)源字符串超出目標(biāo)字符數(shù)組的空間時(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ù)組的上述兩個(gè)dest點(diǎn)應(yīng)足以容納大小字符。如果復(fù)制SRC指向的整個(gè)字符串,則size可以替換為sizeof(SRC)tn。這兩個(gè)函數(shù)還包括頭文件include<string。H>