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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
#1

Подскажите пожалуйста с int main(int argc, char*argv[]) - C++

23.06.2013, 11:24. Просмотров 1659. Ответов 11
Метки нет (Все метки)

Если я правильно понимаю, то int argc это передача аргумента программе, т. е если argc>1 то программе передан хотя бы один аргумент, если argc=1, то аргументов нет. У меня вопрос такого плана: как передать аргумент программе????
P.S. Заранее спасибо за помошь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2013, 11:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите пожалуйста с int main(int argc, char*argv[]) (C++):

Что есть argc и **argv в функции int main(int argc, char **argv)? - C++
Здраствуйте, уважаемые кодеры! Что означает argc и **argv в функции int main(int argc, char **argv), ни как не могу понять эти переменные...

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? - C++
Не понимаю, с чего начинать. Заранее спс.

Аргументы main(int argc, char *argv[]) - C++
Эксперты в с++,объясните пожалуйста новичку примерно понял как использовать эти аргументы,но не как не могу понять куда писать то что он...

int main() и int _tmain(int argc, _TCHAR* argv[]) - C++
При создании нового консольного приложения Microsoft Visual С++ 2010 Express создает начальный шаблон #include "stdafx.h" int...

что такое int argc, char *argv[] в качестве параметров главной (main) функции? - C++
И зачем

Что означает эта строка? int _tmain(int argc, _TCHAR* argv[]) - C++
Всем привет, до этого пользовался DEV, решил пересесть на Visual Studio 2010 Express C++. С++ еще не изучал, хочу сначала добить "С". ...

11
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
23.06.2013, 12:23 #2
надо запустить прогу из командной строки cmd.exe (напечатаь имя проги и через пробелы аргументы)
0
Байт
Эксперт C
16348 / 10624 / 1590
Регистрация: 24.12.2010
Сообщений: 20,272
23.06.2013, 12:30 #3
На консоли набираешь
Код
прога аргумент1 аргумент2
Если хочешь вызвать из другой программы
C++
1
system("прога аргумент1 аргумент2");
0
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 00:04  [ТС] #4
@igorrr37, @Байт, Какие аргументы мне нужно вводить, хоть пример таких аргументов приведите пожалуйста.
P.S. Например если программа называется 1.срр и расположена в F:\\ Мне нужно написать в коммандной строке F:\\1.cpp (а какие аргументы мне ей передовать????)
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
24.06.2013, 00:50 #5
@Nikko12, program.exe в директории C:\
В командной строке вводишь C:\program.exe abc edf 123
Тогда argc = 4
argv[0] = "C:\program.exe";
argv[1] = "abc";
argv[2] = "edf";
argv[3] = "123";

Добавлено через 54 секунды
Цитата Сообщение от Nikko12 Посмотреть сообщение
Например если программа называется 1.срр
Исполняемый файл в Windows имеет расширение *.exe
1
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 09:49  [ТС] #6
@Olivеr, Спасибо большое, а вот еще такой вопрос. Как можно узнать какое кол-во аргументов переданно программе из самой программы???
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.06.2013, 09:55 #7
Цитата Сообщение от Nikko12 Посмотреть сообщение
Как можно узнать какое кол-во аргументов переданно программе из самой программы?
Цитата Сообщение от Nikko12 Посмотреть сообщение
int argc
это и есть количесво аргументов
0
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 11:28  [ТС] #8
@Jupiter, Благодарю, а как тогда сделать, что бы при опрделенном аргументе выполнялось определенное действие, т.е.:
C++
1
2
3
4
5
6
7
8
if(argv[1]=='1')
    {
        //какое-то действие
    }
if(argv[1]=='0')
    {
        //какое-то действие
    }
P.S. В виде аргументов я хочу ввести 1 и 0, и в зависимости от вводимого аргумента должно выполнятся определенно действие.
Компилятор ругается на строчки if(argv[1]=='1') и if(argv[1]=='0') пишет "error: ISO C++ forbids comparison between pointer and integer" Как правильно их использовать???
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.06.2013, 11:30 #9
C++
1
2
3
4
5
6
7
8
9
10
11
#include <cstring>
 
const char* FIRST = "0";
const char* SECOND = "1";
 
if (std::strcmp(argv[1], FIRST) == 0)
{
}
else if (std::strcmp(argv[1], SECOND) == 0)
{
}
0
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 11:46  [ТС] #10
@Jupiter,Большое спасибо за помощь, ответе, пожалуйста еще на 1 вопрос, зачем так передавать аргументы, с какой целью?? Ведь их можно ввести с клавиатуры или считать из файла...
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.06.2013, 16:57 #11
так работаю все программы вспомните любую команду вводимую в командной строке...пример
ping 192.168.133.224
192.168.133.224 выступает в роли аргумента, это же удобно
0
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 23:18  [ТС] #12
@aLarman, Логично, Но я в принципе уже догадался сам, но все равно спасибо
0
24.06.2013, 23:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 23:18
Привет! Вот еще темы с ответами:

Int _tmain(int argc, _TCHAR* argv[]) и др - C++
Добрый день! При компилировании кода, где присутствует данная строчка int _tmain(int argc, _TCHAR* argv) выдаёт ошибку: ...

Почему _TCHAR выдает ошибку int _tmain(int argc, _TCHAR* argv[]) - C++
// ConsoleApplication42.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include&lt;iostream&gt; ...

В чем разница между int main(){} и int main(void){}? - C++
Только недавно начал изучать язык, и появилось несколько вопросов: 1) в чем разница между int main(){} и int main(void){}? 2) в чем...

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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