C++ C++;字符数组:复制数据时出错

C++ C++;字符数组:复制数据时出错,c++,syntax,char,lvalue,C++,Syntax,Char,Lvalue,我有一个数组: CHAR m_manuf[256]; 我正在尝试将值复制到此数组,如下所示: m_manuf = "abacus"; //This shows error 我也尝试过这种变化: char abc[256] ="abacus"; m_manuf = abc; //Shows error as left value must be l-value 你不能复制那样的数组,你可以 CHAR m_manuf[256]; strcpy(m_manuf,"abacus" );

我有一个数组:

CHAR m_manuf[256];
我正在尝试将值复制到此数组,如下所示:

m_manuf = "abacus";  //This shows error 
我也尝试过这种变化:

char abc[256] ="abacus";
m_manuf = abc; //Shows error as left value must be l-value

你不能复制那样的数组,你可以

CHAR    m_manuf[256];
strcpy(m_manuf,"abacus" );


注意:处理字符数组的更好方法是使用std::string,

你不能像那样复制数组,而不是你可以这样做

CHAR    m_manuf[256];
strcpy(m_manuf,"abacus" );


注意:处理字符数组的更好方法是使用std::string,

常量字符数组对您来说已经足够好了,所以您可以使用

string tmp = "abacus";
char *new = tmp.c_str();
或者,您需要修改新的字符数组,而常量不正确,那么只需执行此操作即可

char *new = &tmp[0];

一个常量字符数组对你来说已经足够好了

string tmp = "abacus";
char *new = tmp.c_str();
或者,您需要修改新的字符数组,而常量不正确,那么只需执行此操作即可

char *new = &tmp[0];

不能指定给数组,但可以复制到该数组。但是如果你在C++编程,为什么不使用?你也可以做一些事情,比如代码> char *MyMARFF =“算盘”;<代码>可能。@CollinD使用指向字符串文字的非常量指针通常不是一个好主意。@JoachimPileborg哦,绝对是。你不能分配给数组,但可以复制到数组中。但是如果你在C++编程,为什么不使用?你也可以做一些事情,比如代码> char *MyMARFF =“算盘”;<代码>可能。@CollinD通常不建议使用指向字符串文字的非常量指针。@JoachimPileborg哦,绝对不可能。