关于char* name与char name[20]的有关问题
关于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++,有个简单问题向大家请教,如下:
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的字符串是一个数组,拷贝时遵循数组的拷贝原则