0
我有一個數組:C++字符數組:錯誤而將數據複製
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
我有一個數組:C++字符數組:錯誤而將數據複製
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 *new = &tmp[0];
不能* *分配到一個數組,但你可以*副本*它。但是如果你用C++編程,爲什麼不使用['std :: string'](http://en.cppreference.com/w/cpp/string/basic_string)? –
你也可以做一些像char * m_manuf =「abacus」;'可能。 – CollinD
@CollinD有一個非const指針指向字符串文字通常是一個壞主意。 –