Читать статья по информатике, вычислительной технике, телекоммуникациям: "Создание консольных приложений с помощью мастера в Visual C++ 6 - 2" Страница 3
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя »
сгенерировала такую сигнатуру для функции main (тем, кто не в курсах: сигнатура на человеческом языке - это имя функции со списком её параметров - приучайтесь к грамотной терминологии, потом окупится!):
int main(int argc, char* argv[])
Знаете, часто консольные программы организуются так, что после того, как мы осуществим вызов программы из командной строки, программа выдаёт нам приглашение ввести необходимые данные. Это бывает весьма неудобно для пользователя, напрягает… Пользователю то охота побыстрее результат получить! Так вот, если таких данных немного, то было бы неплохо передать их программе ещё при её запуске. Создатели операционок об этом позаботились: большинство операционных систем, те же DOS и UNIX, например, позволяют передать программе при запуске несколько параметров (или один) (или ни одного). Консоль, естественно, тоже такую возможность нам предоставляет. Как я уже говорил в предыдущей статье, эти параметры называются параметрами командной строки и пишутся при вызове программы после имени самой программы через пробел. Например так:
C:>Stebatrix.exe steb 34
Итак, функция main, как правило, имеет два параметра: целый argc и массив строк argv. Хотя они могут называться и иначе, обычно они называются именно так. Между прочим, поскольку argv у нас является массивом строк, он может быть объявлен по-разному, например:
char* argv[] или char** argv - извращаться над языком можно как угодно (в рамках стандарта языка С++ естественно). Кто не понял, смотрите раздел «Язык программирования С++», постараюсь там об этом (массивах и строках) написать.
Первый параметр argc (argument counter - счётчик аргументов (параметров)) содержит в себе количество параметров командной строки.
Второй argv (argument vector - вектор (массив) аргументов) содержит в себе массив параметров командной строки. Поскольку параметры являются символьными строками, это будет массив строк, причём смысл здесь такой: argv имеет тип char* [argc+1] (не забыли про нулевой элемент массива?). Нулевым элементом массива argv будет имя программы. Список аргументов ограничен нулём, то быть argv[argc] == 0. В случае, когда командная строка выглядит так:
C:>Stebatrix.exe steb 34
запустив программу вот, что мы получим:
Теперь про параметры командной строки, думаю, всё понятно. Тем не менее, охота небось программку сделать? Давайте сделаем. Полезно будет. Сейчас и посмотрите, как в простейшем случае можно параметры командной строки использовать. Итак, заготовка исходного файла у нас уже есть (Listing2.cpp), дополните его, чтобы он выглядел так:
Сразу хочу обратить ваше внимание на то, что подключение iostream и cstdlib можно (пожалуй, уже нужно) объявить не в файле Listing2.cpp, а в stdafx.h. Эти файлы мы изменять не будем, а значит, имеем полное право. Тогда проект компилироваться будет быстрее, хотя в случае нашего проекта-малютки это и не будет заметно. В таком случае уберите эти две строчки
#include
#include
из Listing2.cpp и вставьте их в stdafx.h вот в это место:
Эти две строки должны быть только в одном файле: или Listing2.cpp, или stdafx.h - два раза одно и то же подключать не надо!
Пока не компилируйте и не запускайте. Давайте сейчас разберемся, что же мы напрограммировали. Наша программа будет «продвинутой версией» программы из прошлой статьи, тоже строчку текста выводить будет, только несколько иначе :) При вызове из консоли
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя »
Похожие работы
| Тема: Создание консольных приложений с помощью мастера в Visual C++ 6 - 2 |
| Предмет/Тип: Информатика, ВТ, телекоммуникации (Статья) |
| Тема: Создание консольных приложений в C++ Builder 6 |
| Предмет/Тип: Информатика, ВТ, телекоммуникации (Статья) |
| Тема: Создание консольных приложений в C++ Builder 6 |
| Предмет/Тип: Информатика, ВТ, телекоммуникации (Статья) |
| Тема: Visual Perception Essay Research Paper Visual sensation |
| Предмет/Тип: Английский (Реферат) |
| Тема: Visual Advertising Essay Research Paper Visual AdvertisingThe |
| Предмет/Тип: Английский (Реферат) |
Интересная статья: Основы написания курсовой работы

(Назад)
(Cкачать работу)