新微赢技术网
标题:
【请教】 这两句话为什么不能换
[打印本页]
作者:
俬錛ヤ
时间:
2009-11-2 02:09
标题:
【请教】 这两句话为什么不能换
#include<iostream>
#include<string>
int main()
{
using namespace std;
char animal[20]="bear";
const char* bird="wren";
char* ps;
cout<<animal<<" and ";
cout<<bird<<"\n";
cout<<"Enter a kind of animal:";
cin>>animal;
ps=animal;
cout<<ps<<"s!\n";
cout<<"before using strgy():\n";
cout<<animal<<"at"<<(int*)animal<<endl;
cout<<ps<<"at"<<(int*)ps<<endl;
ps=new char[strlen(animal)+1];//此处为什么不能用 ps=animal;代替
strcpy(ps,animal);
cout<<"after using strcpy():\n";
cout<<animal<<"at"<<(int *)animal<<endl;
cout<<ps<<"at"<<(int *)ps<<endl;
delete[]ps;
return 0;
}
作者:
一网情深
时间:
2009-11-2 02:09
ps=new char[strlen(animal)+1];//此处为什么不能用 ps=animal;代替
strcpy(ps,animal);
注意后面用到strcpy,这个函数要求两个char*做形参,并且大小要能兼容。
所以要用到上一句,给ps一个适合的大小。
作者:
独寻醉
时间:
2009-11-3 16:05
支持一下吧,确实是不错的贴子。
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2