добавить константные переменные char со строкой

У меня есть 2 целых числа, которые я преобразовал в const char *, передав пользовательскую функцию. Теперь я хочу добавить эти 2 переменные в строку командной строки как

    "gnome-terminal -x sh -c 'cd; cd project/into_bot/; sh ./matlab_batcher.sh localize \""+num1+","+num2+"\"; exec bash;

Я знаю, что это очень просто, но плохо с типами данных. как мне добавить эти 2 const char здесь? Этот метод не работает, так как выдает ошибку, говоря бинарный оператор для const char *. Пожалуйста, помогите мне, хотя это элементарно.

num1 и num2 являются переменными

-1

Решение

Если num1 а также num2 являются const char *, ты можешь использовать std::string,

std::string cmd_line = std::string() +
"gnome-terminal -x sh -c 'cd; cd project/into_bot/; ""sh ./matlab_batcher.sh localize \"" +num1+","+num2+"\"; ""exec bash;";

system( cmd_line.c_str() );

Семантически, что здесь происходит, вы создаете временную переменную с std::string() который используется для построения строки, затем после того, как все построено, он используется для инициализации постоянной переменной cmd_line,

2

Другие решения

Других решений пока нет …