Можно ли отправлять массивы из bash в программу на C ++?

Я хотел бы знать, возможно ли создать массив_и_строков и отправить его на C ++-программу, которая имеет строку аргумента array_of_strings []?

  • эхо-тест | stty -echo -> stty: стандартный ввод: несоответствующий ioctl для устройства
  • Почему использование `yes` на bash-конвейерах * не * вызывает бесконечные циклы?
  • Как долго длится содержимое файла .bash_history?
  • Установка вывода jq в переменную Bash
  • sudo как другой пользователь с их окружением
  • Как узнать, печатает ли программа на stderr или stdout в терминале?
  • Как использовать языковой перевод в Bash?
  • Фильтрация результата из команды
  • Проблема с сигналом WINCH - что я пропускаю?
  • Почему я могу изменить историю bash?
  • Как выбрать наивысший элемент числа во многих файлах со многими массивами
  • Как я могу проверить, является ли переменная пустой или содержит только пробелы?
  • 2 Solutions collect form web for “Можно ли отправлять массивы из bash в программу на C ++?”

    Ответ Гилла дает вам 90% этого, но все остальное на bash, чтобы сделать правильно.

    $ arr=(foo bar 'Hello World!') $ ./foo "${arr[@]}" 

    Все программы получают в качестве аргументов массив строк. В C ++ аргументы являются параметром argv main функции. Первый элемент этого массива – это имя программы, остальные – аргументы, которые вы передаете.

     $ cat foo.cpp #include <iostream> int main (int argc, char *argv[]) { for (int i = 1; i < argc; i++) std::cout << argv[i] << std::endl; return 0; } $ g++ -o foo foo.cpp $ ./foo hello world hello world 
    Linux и Unix - лучшая ОС в мире.