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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
#1

Аргументы командной сроки - C++

28.08.2013, 21:41. Просмотров 313. Ответов 4
Метки нет (Все метки)

Здравствуйте,я начал изучать аргументы командной строки, и решил попробовать написать не большую программу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
using namespace std;
 
int main(int num,char* command[])
{
  
  if(command[1] == "start") 
   {
     cout << "You have selected start" << endl;
   }
  return 0;
}
Потом пишу комманду g++ main.cpp
Потом прописываю ./a.out start
Но он нечего не выводит.
Подскажите как это исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2013, 21:41     Аргументы командной сроки
Посмотрите здесь:

Аргументы командной стороки. - C++
Приветствую! Изучаю аргументы ком. строки в данный момент, попалась вот такая вот задача =&gt; &quot;Напишите программу, которая интерпретирует...

Распечатать аргументы командной строки - C++
Если первый аргумент командной строки - опция -а , то распечатать остальные аргументы без их первых символов , а если первой идет опция -r...

Неясность (аргументы командной строки) - C++
nextArg = 1; while (nextArg &lt; argc) { if ((strlen(argv) &gt; 1) &amp;&amp; ('-' == argv)) ... } Прошу вас...

Аргументы N2 командной строки посимвольно не считывается. - C++
Вот, всё предельно просто. Действительно, имеем такую программу #include &lt;stdio.h&gt; int main (int argc, char* argv ) { printf...

Вывести все нечисловые аргументы командной строки - C++
В командной строке задается произвольное к-во аргументов. Вывести все нечисловые аргументы. мой код #include &lt; iostream &gt; ...

Visual Studio не видит аргументы командной строки - C++
Внезапно полностью перестала VS видеть аргументы командной строки, которые подаю ей через &quot;Проект -&gt; Свойства проекта -&gt; Свойства...

Объект, который бы автоматически принимал аргументы командной строки - C++
Всем привет! Покажу на примере. Пусть есть такой код: int main(int argc, char const *argv) { SomeClass obj(argc, argv, par1, par2);...

Аргументы командной строки: как программа корректно определяет два пробела в значении аргумента? - C++
Друзья! Есть сторонняя консольная программа, к ней параметром идут имена двух файлов, запускать то есть так: main.exe file_1 file_2 ...

Аргументы функции: что значит "большие" и "небольшие" аргументы? - C++
Здравствуйте! Всем доброго дня! Растолкуйте пожалуйста! Что значит большие и небольшие?

Сдвинуть сроки матрицы вверх - C++
while (kol_poz &gt; 0) { for (int j = 0; j &lt; N; j++) //столбцы { int h = mas; for (int i = 0; i &lt; M; i++) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XRuZzz
Антикодер
649 / 550 / 27
Регистрация: 15.09.2012
Сообщений: 2,497
28.08.2013, 21:52     Аргументы командной сроки #2
может для начала
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main(int num,char* command[])
{
   for (int i = 0; i < num; i++) cout << command[i] << endl;
  return 0;
}
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
28.08.2013, 21:54     Аргументы командной сроки #3
строки сравниваются через функцию strcmp()

если результат равен нулю, значит они равны
C++
1
2
3
4
if (strcmp(command[1], "start") == 0)
{
    cout << "You have selected start" << endl;
}
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
28.08.2013, 21:57  [ТС]     Аргументы командной сроки #4
BigLow, Спасибо, помогло.
XRuZzz
Антикодер
649 / 550 / 27
Регистрация: 15.09.2012
Сообщений: 2,497
28.08.2013, 22:34     Аргументы командной сроки #5
вот ещё вариант более похожий на C++, а не на C
C++
1
2
3
4
5
6
7
#include <iostream> 
using namespace std;
int main(int num,char* command[])
{
  if(string(command[1]) == "start") cout << "You have selected start" << endl;
  return 0;
}
Добавлено через 9 минут
может быть очень разумно поместить аргументы в вектор
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <vector>
#include <iostream>
 
using namespace std;
 
int main(int num,char* command[])
{
    vector<string> commands(command, command + num);
 
    if(commands[1] == "start")
        cout << "You have selected start" << endl;
    for (int i = 0; i < commands.size(); i++)
        cout << i << " " << commands[i] << endl;
    return 0;
}
Yandex
Объявления
28.08.2013, 22:34     Аргументы командной сроки
Ответ Создать тему
Опции темы

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