Это не то, как вы объединяете строки в C ++.
Вы можете использовать sprintf
или std::string
.
Последний более C ++ - ish ::
std::string cycle("--NEW CYCLE");
cycle += (char)i;
cycle += "---\r\r";
writeText(cycle.c_str();
Обратите внимание, что вы также должны изменить функциюподпись:
void writeText(const char* desc)
, поскольку string::c_str()
возвращает const char*
.
Или вы можете использовать stringstream
, но в этом случае это немного излишне.Хотя стоит взглянуть на это.
Причина, по которой вы получаете ошибку, состоит в том, что "--NEW CYCLE "
- это const char*
в C ++, а не std::string
.
Вы могли бы отредактируйте свою строку для работы:
const char* cycle= (std::string("--NEW CYCLE ")+(char)i+"---\r\n").c_str();
но я бы не стал этого делать.Это выглядит некрасиво.