C++ char массив: ошибка при копировании данных
У меня есть массив:
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
2 ответа
Решение
Вы не можете скопировать массив, как это, вместо того, чтобы сделать,
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];