0 / 0 / 0
Регистрация: 15.01.2020
Сообщений: 64
|
|
1 | |
int main(int argc, char* argv[]) ?15.01.2020, 18:22. Показов 7008. Ответов 16
Метки нет (Все метки)
0
|
15.01.2020, 18:22 | |
Ответы с готовыми решениями:
16
Что есть argc и **argv в функции int main(int argc, char **argv)? Подскажите пожалуйста с int main(int argc, char*argv[]) В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? Аргументы main(int argc, char *argv[]) |
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
15.01.2020, 18:25 | 2 |
Не обязательно
Нужны что бы передавать данные в программу от пользователя Пример: ping hostname.tld ping - программа hostname.tld - данные которые передаются в программу
1
|
0 / 0 / 0
Регистрация: 15.01.2020
Сообщений: 64
|
|
15.01.2020, 18:34 [ТС] | 3 |
Хорошо, а могу ли я реализовать это в своей программе при помощи,например, switch(argv) или что-то в этом стиле?
0
|
Любитель чаепитий
|
|
15.01.2020, 18:45 | 5 |
argv имеет тип char *[] . а switch можно использовать только с интегральными типами и enum 'aми.так что придётся писать if else или использовать какую-нибудь библиотеку для парсинга этих параметров. например, boost.program_options.
1
|
0 / 0 / 0
Регистрация: 15.01.2020
Сообщений: 64
|
||||||
15.01.2020, 18:54 [ТС] | 6 | |||||
Можно немного по-подробнее?
Добавлено через 8 минут
0
|
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
15.01.2020, 18:58 | 7 |
0
|
0 / 0 / 0
Регистрация: 15.01.2020
Сообщений: 64
|
|
15.01.2020, 19:03 [ТС] | 8 |
0
|
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
15.01.2020, 19:06 | 9 |
<ошибочка>
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|
15.01.2020, 19:07 | 10 |
Farnik, вначале проверяешь количество аргументов, которые передал пользователь, по значению argc . Если там 0, значит пользователь никаких аргументов не передавал и из argv[1] читать категорически нельзя.
Для сравнения Си-строк используется strcmp ( http://www.cplusplus.com/reference/cstring/strcmp/ ) .
0
|
Любитель чаепитий
|
||||||
15.01.2020, 19:07 | 11 | |||||
зависит от того, что вы выберете.
с if /else будет выглядеть примерно так:
-v и --version .с if /else эта задача решается не очень лаконично.
0
|
0 / 0 / 0
Регистрация: 15.01.2020
Сообщений: 64
|
|
15.01.2020, 19:09 [ТС] | 12 |
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|
15.01.2020, 19:10 | 13 |
Farnik, он может быть 0.
0
|
0 / 0 / 0
Регистрация: 15.01.2020
Сообщений: 64
|
|
15.01.2020, 19:14 [ТС] | 14 |
"Причем argc всегда не меньше 1, даже когда мы не передаем никакой информации, так как первым параметром считается имя функции." http://cppstudio.com/post/421/
0
|
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
15.01.2020, 19:18 | 15 |
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
15.01.2020, 19:28 | 16 |
Стандарт требует только, что бы он не был отрицательным.
Т.е. ноль может быть. http://eel.is/c++draft/basic.start.main#2
2
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
16.01.2020, 01:57 | 17 | |||||
https://rextester.com/VNM6630
он может быть равен 0
0
|
16.01.2020, 01:57 | |
16.01.2020, 01:57 | |
Помогаю со студенческими работами здесь
17
int main() и int _tmain(int argc, _TCHAR* argv[]) что такое int argc, char *argv[] в качестве параметров главной (main) функции? Что означает эта строка? int _tmain(int argc, _TCHAR* argv[]) Int _tmain(int argc, _TCHAR* argv[]) и др Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |