Strcat是连接字符串的函数。返回函数指针。两个参数都是指针。第一个参数指向的内存地址必须能够容纳两个字符串的大小。
prototype extern char * strcat(char * dest,char * src);
用法#include字符串. h
将函数src指示的字符串添加到dest的末尾(覆盖dest末尾的 ),并添加 。返回一个指向目标的指针。
说明src和dest引用的内存区域不能重叠,dest必须有足够的空间来存放src的字符串。
举个例子
char str 4[]= Hello world ;
char str 5[]= Hello World ;
cout strcat(str4,str 5)endl;
因为str4没有足够的空间,所以会出现错误
以下是我自己的一个实现,希望改正缺点!
#include stdafx.h
#包括iostream
#include assert.h
使用命名空间std
//连接字符串
Char * mystrcat (char * deststr,const char * srcstr)//两个字符串是同一个字符串怎么办?
{
assert(destStr!=NULL srcStr!=NULL);
char * temp=destStr
while(*destStr!= )
{
destStr
}
while(*destStr=*srcStr)
NULL
返回温度;//实现链式操作,返回目的地址
}
int _tmain(int argc,_TCHAR* argv[])
{
char str 1[25]= Hello world ;
char str 2[]= Hello World ;
cout mystrcat(str1,str 2)endl;
返回0;
}
让我们再来看看源函数:
//=======================================================
#include string.h
char * __cdecl strcat ( char * dst,const char * src)
{
char * cp=dst//保存dst指针
while( *cp)
CP;//找到dst字符串的结尾
while(* CP=* src);//在dst之后复制src字符串
返回(夏令时);//返回dst字符串指针
}
//=============================================
示例:
//=================================================
Strcat()接受两个字符串参数。将第二个字符串的副本添加到第一个字符串的末尾,以便第一个字符串成为新的组合字符串,而第二个字符串不变。
# includestdio.h
#includestring.h
int main(void)
{
char str 1[20];
char str 2[]= Hello word ;
gets(str 1);//必须初始化
strcat(str1,str 2);
看跌期权(str 2);
看跌期权(str 1);
getchar();
返回0;
}
上面的程序将string2字符串复制到string1的末尾。第一个字符串成为新的组合字符串。
注意:string1必须在strcat()函数调用string1之前初始化。