//string s="feafagagrgaergbfgfghdvxsggsdgfdgsdfgsdfgsdfgsdfgdfgsddfgsfgsdfgsdfgsdfgsdfgsdfgsdfgdfgsdfgdfawefgsdfgsdfgfgv";
//char * c="drfgisd igsdfgasdp awve erwfdasd sadifasdf";
//cout<<sizeof(s)<<endl; //结果32 计算的是 string类型 的长度,不是字符串的数据长度
//cout<<sizeof(*c)<<endl; //结果1 是第一个字符 其实就是获得了字符串的第一位'0' 所占的内存空间,是char类
//cout<<s.length()<<endl; //结果108 字符数据 的长度
//cout<<sizeof(string)<<endl; //结果32 计算 string类型 的长度,不是字符串的数据长度
//cout<<sizeof(char)<<endl; //1 计算 char类型 的长度
//cout<<sizeof(int)<<endl; //4 计算 整形类型 的长度
char *c="abcdefghijklm";
char *c2=(char*)malloc(strlen(c));
cout<<strlen(c2)<<endl;
memcpy(c2,c,strlen(c2));
char * c1="faisfe32rwefasdfasdfasasdfasdfasdf1we4faf";
int c1_strlen=strlen(c1); //41
cout<<c1_strlen<<endl; //41
char * c2=new char[c1_strlen];
memcpy(c2,c1,strlen(c2));
cout<<c2<<endl;
下面这段代码不知道理解正确么,求指点
//memcpy拷贝char类型的计算方法
//指针地址的数据计算和分配内存
char * c1="sdifjgoirwjgjgsdfgfdioasf4irerg";
int c1_len=strlen(c1); //31个字符
cout<<c1_len<<endl;
//申请31个char长度的内存空间
char *c2=(char*)malloc(c1_len);
//查看c2内存空间
cout<<c2<<endl;
//计算c2的字符长度
int c2_len=strlen(c2);
cout<<c2_len<<endl;
memcpy(c2,c1,c2_len);
cout<<c2<<endl;