new char[],和memcpy连用时的奇怪问题。
测试程序如下:
#include <iostream>#include <string>using namespace std;int main(){ char s1[]="adfds9asdkjf"; cout <<strlen(s1); char *s2=new char[strlen(s1)+1]; memcpy(s2,s1,strlen(s1)); cout<<s2<<endl; return 0;}#include <iostream>#include <string>using namespace std;int main(){ char s1[]="adfds9asdkjf"; cout <<strlen(s1); char s2[13]; memcpy(s2,s1,strlen(s1)); cout<<s2<<endl; return 0;}