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

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

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

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

28.08.2013, 21:41. Просмотров 319. Ответов 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
Но он нечего не выводит.
Подскажите как это исправить?
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2013, 21:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Аргументы командной сроки (C++):

Аргументы командной строки - C++
int main(int argc,int **argv) Понял только,что argc отвечает за количество аргументов,а argv-массив указателей на строки символов.Но...

Аргументы командной строки - C++
Уважаемые форумчане, растолкуйте, пожалуйста, назначение третьего аргумента &quot;char *const options&quot; в функции GetOptList . Для чего он данном...

Аргументы командной строки - C++
Здравствуйте, у меня вопрос, почему программа сбрасывается, так и не выполнив никаких действий? Я знаю , что она возвращает 0 и выходит,...

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

Аргументы командной строки - C++
Необходимо открыть файл на чтение, используя аргументы main. Не хотелось бы прописывать путь к файлу, который хотим открыть. Файл помещен в...

Аргументы командной строки - C++
Пытаюсь разобраться с этой штукой. У Дейтела это собственно только дополнение, а не отдельный пункт раздела так что всё написано сжато и с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
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;
}
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;
}
1
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
28.08.2013, 21:57  [ТС] #4
BigLow, Спасибо, помогло.
0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2013, 22:34
Привет! Вот еще темы с ответами:

Аргументы командной строки - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt; #include &lt;string.h&gt; #include &lt;Windows.h&gt; #include &lt;string&gt; using...

Аргументы командной строки - C++
Есть прога, которая считывает файл посимвольно и выводит количество повторений символов в консоль. Открытие файла происходит так: FILE...

Передать аргументы командной строки - C++
как передать 2 аргумента для командной строки Вот я хочу передать имя входного файла и значение типа int вот как я делаю ...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.08.2013, 22:34
Ответ Создать тему
Опции темы

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