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

C++ char array: error while copying data

我有一个数组:

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 = "abacus";

或者

char abc[256] ="abacus";
strcpy(m_manuf,abc );

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

常量字符数组对您来说已经足够了,所以您可以选择,

string tmp = "abacus";
char *new = tmp.c_str();

或者你需要修改新的char数组,常量不行,那就这样吧

char *new = &tmp[0];