У меня есть 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 являются переменными
Если 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
,
Других решений пока нет …