Есть код который перебирает COM порты и если находит то подключается, если нет то ошибка.
int i = -1;
while (!libfptr_is_opened(fptr) && i < 10) {
i++;
libfptr_close(fptr);
libfptr_set_single_setting(fptr, LIBFPTR_SETTING_PORT, std::to_wstring(LIBFPTR_PORT_COM).c_str());
libfptr_set_single_setting(fptr, LIBFPTR_SETTING_COM_FILE, L"/dev/ttyS" + i);
libfptr_apply_single_settings(fptr);
libfptr_open(fptr);
}
if (i == 10) {
printf("Error = NoConnect");
printf("\n");
}
Суть в том что он не складывает переменную i со строкой. Как исправить?
L"/dev/ttyS" + i выполняет арифметику указателей, вам это явно не нужно.
Вместо этого подойдет что-то вроде
(L"/dev/ttyS" + std::to_wstring(i)).c_str()
Продвижение своими сайтами как стратегия роста и независимости