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

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

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

C++ Что означает эта строка? int _tmain(int argc, _TCHAR* argv[])
Что есть argc и **argv в функции int main(int argc, char **argv)? C++
int main() и int _tmain(int argc, _TCHAR* argv[]) C++
C++ Аргументы main(int argc, char *argv[])
В чем разница между int main(){} и int main(void){}? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
23.06.2013, 12:23     Подскажите пожалуйста с int main(int argc, char*argv[]) #2
надо запустить прогу из командной строки cmd.exe (напечатаь имя проги и через пробелы аргументы)
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,872
23.06.2013, 12:30     Подскажите пожалуйста с int main(int argc, char*argv[]) #3
На консоли набираешь
Код
прога аргумент1 аргумент2
Если хочешь вызвать из другой программы
C++
1
system("прога аргумент1 аргумент2");
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 00:04  [ТС]     Подскажите пожалуйста с int main(int argc, char*argv[]) #4
@igorrr37, @Байт, Какие аргументы мне нужно вводить, хоть пример таких аргументов приведите пожалуйста.
P.S. Например если программа называется 1.срр и расположена в F:\\ Мне нужно написать в коммандной строке F:\\1.cpp (а какие аргументы мне ей передовать????)
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.06.2013, 00:50     Подскажите пожалуйста с int main(int argc, char*argv[]) #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
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 09:49  [ТС]     Подскажите пожалуйста с int main(int argc, char*argv[]) #6
@Olivеr, Спасибо большое, а вот еще такой вопрос. Как можно узнать какое кол-во аргументов переданно программе из самой программы???
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.06.2013, 09:55     Подскажите пожалуйста с int main(int argc, char*argv[]) #7
Цитата Сообщение от Nikko12 Посмотреть сообщение
Как можно узнать какое кол-во аргументов переданно программе из самой программы?
Цитата Сообщение от Nikko12 Посмотреть сообщение
int argc
это и есть количесво аргументов
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 11:28  [ТС]     Подскажите пожалуйста с int main(int argc, char*argv[]) #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" Как правильно их использовать???
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.06.2013, 11:30     Подскажите пожалуйста с int main(int argc, char*argv[]) #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)
{
}
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 11:46  [ТС]     Подскажите пожалуйста с int main(int argc, char*argv[]) #10
@Jupiter,Большое спасибо за помощь, ответе, пожалуйста еще на 1 вопрос, зачем так передавать аргументы, с какой целью?? Ведь их можно ввести с клавиатуры или считать из файла...
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.06.2013, 16:57     Подскажите пожалуйста с int main(int argc, char*argv[]) #11
так работаю все программы вспомните любую команду вводимую в командной строке...пример
ping 192.168.133.224
192.168.133.224 выступает в роли аргумента, это же удобно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 23:18     Подскажите пожалуйста с int main(int argc, char*argv[])
Еще ссылки по теме:

что такое int argc, char *argv[] в качестве параметров главной (main) функции? C++
C++ Int _tmain(int argc, _TCHAR* argv[]) и др
C++ В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.?

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

Или воспользуйтесь поиском по форуму:
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
24.06.2013, 23:18  [ТС]     Подскажите пожалуйста с int main(int argc, char*argv[]) #12
@aLarman, Логично, Но я в принципе уже догадался сам, но все равно спасибо
Yandex
Объявления
24.06.2013, 23:18     Подскажите пожалуйста с int main(int argc, char*argv[])
Ответ Создать тему
Опции темы

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