Добавить к строке число в цикле

117
08 декабря 2019, 21:50

Есть код который перебирает 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 со строкой. Как исправить?

Answer 1

L"/dev/ttyS" + i выполняет арифметику указателей, вам это явно не нужно.

Вместо этого подойдет что-то вроде

(L"/dev/ttyS" + std::to_wstring(i)).c_str()
READ ALSO
ошибка g++ &ldquo;undefined reference to &rdquo; [дубликат]

ошибка g++ “undefined reference to ” [дубликат]

Возникает ошибка при компиляции в g++Строки из Makefile:

146
Почему вторая итерация для запроса к серверу ошибочна?

Почему вторая итерация для запроса к серверу ошибочна?

Цикл выпоняется 1 раз, я получаю html-тело страницыНа вторую итерацию сервер не отправляет мне ничего (received == 0)

103
OSG не работает с GDAL на Windows 10

OSG не работает с GDAL на Windows 10

Работаю на Windows 10 x64 IDE: QtCreator 48

137