![]() |
|
Модераторы: bsa |
![]()
|
|
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 3 Всего: 40 |
Добрый вечер всем.
В книге пример программы, которая выполняет посимвольное копирование одного файла в другой. Вот сам код программы
Написано, что аргументы main-а должны передаваться из командной строки, но не написано как. Так как?Что написать в командной строке?(поискал Google-ом, ничего не нашел, если знаете, сайт где нормально написано, дайте ссылку). Заранее Спасибо. -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
| Lazin |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
argc - количество параметров argv - массив строк первым всегда передается полное имя исполняемого файла, потом уже твои параметры... если программа вызывается так:
то:
|
||||||
|
|||||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 2 Всего: 67 |
IKM2007,
1)пуск - выполнить - cmd.exe 2)в открывшемся окне пишем: имя_программы.exe copy имя_файла1 имя_файла2 часть "copy имя_файла1 имя_файла2" это как раз и есть параметры командной строки -------------------- СУВ, Partizan. |
|||
|
||||
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 3 Всего: 40 |
Lazin,
Partizan, большое спасибо. Partizan, у тебя там опечатка
100 сообщении стукнуло, обоим +1 -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
там не опечатка, все правильно. Partizan показал пример командный строки
а с копи она будет или без уже решать автору проги по обстоятельствам |
|||
|
||||
| IKM2007 |
|
||||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 3 Всего: 40 |
OK.Понял. Если можно, еще вопросы. Вопрос 1: Как командная строка "узнает", сколько параметров я должен передать? Я правильно понял, что в выше выложенной мною программе это следует из того, что было использовано argv[1] и argv[2], то есть 3 параметра. Но вот в этой программе как узнать, сколько параметров
Вопрос 2: Что за параметр *argp[]? Заранее Спасибо. -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
||||
|
|||||
| W4FhLF |
|
||||||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Перед твоей функцией main компилятор вставляет свой служебный код, в котором среди прочего подсчитывается кол-во параметров переданных программе(argc), создаётся массив указателей и туда кладутся эти параметры по отдельности (argv[]), после чего вызывается твоя функция main. Ну там же есть цикл:
Как только в массиве argp[] встретится нулевой указатель - это знак, что конец массива достигнут. Добавлено @ 09:03 Это переменные окружения. И код, кстати, которые выше, вообще не рабочий.
Это сообщение отредактировал(а) W4FhLF - 31.7.2008, 09:56 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
||||||
|
|||||||
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 3 Всего: 40 |
W4FhLF, спасибо за разяснения.
почему, если вводишь
Вопросы остались, но лучше самому пробовать, експерементировать. Тема закрыта. Кстати, кто может сказать, где детально про все это написано?(ссылка или книга) -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |