(转载)
将p2链接到p1的后面,p1为123ABC
然后将str字符数组向后移动两个位置,将p1拷贝到从该位置开始之后的内存中。
结果为xy123ABC
// test.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include "stdlib.h"
#include "iostream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//char *p1= "123"; //p1指向的是只读数据段,strcat是要写数据的,往只读数据段写,当然会有异常了
char p1[10]= "123"; //p1指向的是栈数据段
char *p2= "ABC";
char str[50]= "xyz";
strcat(p1,p2);
strcpy(str+3,p1);//结果:xyz123ABC
cout<<str<<endl;
system("pause");
return 0;
}