读书人

关于char* name与char name[20]的有关

发布时间: 2012-02-21 16:26:23 作者: rapoo

关于char* name与char name[20]的问题
初学c++,有个简单问题向大家请教,如下:
class A
{
public:
char name[20];
};

void fun(A a,char *p)
{
a.name=p;//出错.想把p所指的内容放如数组中
}
void main()
{
A test;
char* str= "nihao ";
fun(test,str);
}

问题是如何将char* p所指的内容放入char name[2]中.
谢谢!

[解决办法]
strcpy(a.name, p);
[解决办法]
a.name=p;//出错.想把p所指的内容放如数组中
=======================
strcpy(a.name, p);

另外LZ的void fun(A a,char *p)应该改为
void fun(A& a, const char *p)
[解决办法]
strcpy
[解决办法]
strcpy();
或者自己写一个函数,一个字符一个字符复制过去,不难
[解决办法]
a.name=p;//出错.想把p所指的内容放如数组中
C不是VB,C的字符串是一个数组,拷贝时遵循数组的拷贝原则

读书人网 >C++

热点推荐