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];
我有一个数组:
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];