Можно ли использовать переменные в функцие system?

К примеру есть код:
int main(void)
{
    int i = 1;
    system("echo $i")
    return 0;
}

Однако echo воспринимает значение i не как 1, что и требуется, а как пустую строку. Как же в таком случае передавать переменные функцие system?
  • Вопрос задан
  • 530 просмотров
Решения вопроса 2
Nipheris
@Nipheris Куратор тега C++
Сесть и поучить C++, это вам не PHP.
Используйте std::to_string(i) и сконкатенируйте нужную вам строку, или сделайте замену в исходной строке с помощью метода replace у std::string.
Ответ написан
BacCM
@BacCM
C++ почти с рождения
Как уже предлагалось выше:
int main(void)
{
	int i = 1;
	system(("echo $" + std::to_string(i)).c_str());
	return 0;
}


Ну либо, если компилятор не знает таких новомодных штук как to_string
то заменяется на itoa, sprintf, stringstream и т.д. по вкусу...

А так действительно стоит почитать книжки умные.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы