注册 登录
编程论坛 C++教室

不知为何加上一句srtcpy就出错!

入门 发布于 2009-10-11 11:41, 533 次点击
#include<iostream>
#include<cstring>
#include<string>

int main()
{
using namespace std;
char animal[20]="bear";
const char* bird="wren";
string name="aikun";
string name1;
char* ps;


cout<<animal<<" and "<<bird<<endl;

cout<<"Enter a kind of animal: "<<endl;
cin.get(animal,20).get();
ps=animal;
cout<<ps<<"s!\n";

name+=" 10000 years!";
strcpy(name1,name);
cout<<name<<endl;
return 0;

}
5 回复
#2
入门2009-10-11 14:55
是不支持C的部分文件?
#3
东海一鱼2009-10-11 15:13
name1只是一个指针,并没有分配内存空间。所以用strcpy就会引起内存访问错误。

[ 本帖最后由 东海一鱼 于 2009-10-11 15:19 编辑 ]
#4
入门2009-10-11 15:17
回复 3楼 东海一鱼
是不是STRING 就不能用strcpy啊?只有C可以
#5
东海一鱼2009-10-11 15:24
回复 4楼 入门
类对象用 = 赋值(浅拷贝),完全复制要看类的具体实现。

strcpy只复制以\0结束的字符串。
#6
入门2009-10-11 15:28
回复 5楼 东海一鱼
哦,晓得了,谢谢啊
1