Форум программистов, компьютерный форум CyberForum.ru

Аргументы при запуске из терминала - C++

Восстановить пароль Регистрация
 
smartes
0 / 0 / 0
Регистрация: 12.04.2013
Сообщений: 24
08.02.2016, 13:52     Аргументы при запуске из терминала #1
Доброго времени суток!
Подскажите как реализовать с наименьшими изменениями.
Есть программа на C++ с switch те можно выбирать что именно выполнять, где аргумент для switch вводится через cin.
Как можно выбирать аргумент еще до запуска программы из терминала, что-то типа ./main --14 где 14 это номер для switch.

Заранее спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2016, 13:52     Аргументы при запуске из терминала
Посмотрите здесь:

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку C++
Ошибка при запуске... C++
C++ Ошибка при запуске
Почему при вводе русского текста после cout<< при запуске программы выписывает какие то каракули C++ Builder
При выполнение exe файла быстро схлопывается окно терминала C++
как сделать логотип при загрузке программы (типа как при запуске офиса) C++
C++ Builder Ошибка при запуске
C++ COM Транслируются ли аргументы функции CoCreateInstance в аргументы функции DllGetClassObject?
C++ Ошибка при запуске
C++ Builder Ошибка при запуске
C++ Linux Программа работает при запуске в CodeLite, но не работает при запуске в консоли
C++ Где должны быть аргументы (слева или справа) по отношению к перегружаемому знаку при перегрузке операций?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AlexVRud
420 / 149 / 37
Регистрация: 04.07.2014
Сообщений: 421
08.02.2016, 14:26     Аргументы при запуске из терминала #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
int main(int argc, char* argv[]) {
  int64_t m;
 
  if (argc>1) {
    m = std::stoll(std::string(argv[1]));
  } else {
    m = 1;
  }
  
  std::cout << m << std::endl;
 
  return 0;
}
Добавлено через 4 минуты
Либо
Bash
1
echo 14 | ./progname
Либо
Bash
1
./progname < data.txt
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12281 / 6968 / 784
Регистрация: 27.09.2012
Сообщений: 17,282
Записей в блоге: 2
Завершенные тесты: 1
08.02.2016, 16:15     Аргументы при запуске из терминала #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <string>
 
template < typename T >
std::ostream & operator << ( std::ostream & stream , const std::vector<T> & vec )
{
    for ( typename std::vector<T>::const_iterator it = vec.begin() , itEnd = vec.end() ; it != itEnd ; ++it )
        stream << *it << '\n' ;
    return stream ;
}
 
int main( int argc , char ** argv )
{
    std::vector < std::string > vec ( argv , argv+argc ) ; //И все параметры в векторе, анализируйте.
    std::cout << vec << std::endl ;
}
Yandex
Объявления
08.02.2016, 16:15     Аргументы при запуске из терминала
Ответ Создать тему
Опции темы

Текущее время: 19:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru