Site hosted by Angelfire.com: Build your free website today!
 

 


 
 


 

Вступление


Что такое командная строка ? это когда перед тобой мигает курсор, приглашающий к вводу команды. Ты набираешь команду и наживаешь Enter. Операционная система попытается выполнить команду. Например, запускаешь command.com в Win9x/ME или cmd32.exe в WinNT/2000. Появится черное окно с мигающим курсором. Набираешь команду "Dir" и жмешь Enter - увидишь оглавление текущей директории. Можно в той же строке передать параметр, который повлияет на работу запускаемой программы, если знаешь какой. Я знаю, что можно указать команде Dir выводить оглавление в компактном виде, передав ей параметр . Для этого надо набрать Dir /w и нажать enter.

Как сделать такую программу на Си

Пример программы, работающей с командной строкой:

#include <stdio.h>

void main(int c,char **v){
int i;

printf("Number of parameters: %d\n",c);
for(i=0;i<c;i++){
printf("param[%d]=%s\n",i,v[i]);
}

}

Как видишь, мы дошли до момента, когда главная функция программы (main) стала принимать параметры. Но по прежнему они ничего не возвращает. Принимает она 2 параметра разного типа. Тип параметра (как и переменной при её объявлении) - это все, что стоит перед именем переменной. Первый параметр имеет имя <с> и тип . Имя второго - , тип - . Что такое "char **v" подробно пока что объяснять не буду. Мы к этому еще вернемся, когда займемся указателями. Скажу лишь что с этим можно обращаться как с массивом строк, т.е. v[0] - это первая строка из массива, v[1] - вторая и т.д.


Как с этим работать :

Набиваешь прогу. Обязательно сохрани ее под каким-нить именем (File->Save). Например, params.cpp
Билдишь ЕХЕшник (в BC 3.1 это клавиша F9). Он будет иметь то же имя, под каким ты сохранил исходняк. Потом заходишь в Far/Norton/Win Commander. На крайняк запускаешь command.com :-)
Сначала запускаешь прогу просто так, без параметров.
Она скажет, что параметр только один. Он будет под нулевым номером - это будет имя самого ЕХЕшника.
Потом запусти с параметрами, например

Таким образом, ты должен увидеть, что переданные параметры попадают в переменную v, а в <с> будет лежать число переданных парамтров+1 , т.к. нулевым параметром всегда идет имя ЕХЕшника. Таким образом, ты можешь всегда в программе определить как сейчас она называется.
Попробуй набить данную программу и запустить.

Задание
Теперь ТЕБЕ надо сообразить как эти знания употребить на то, чтобы исходные данные для вычисляющей программы передавать в командной строке.
Надо переделать программу из урока 1 так, чтобы можно было программе, которая выполняет деление, передать что на что делить в командной строке:


и она бы мне выдала на экран результат работы:

<5 / 2="2.5">

 

Заглавна Форум Компилатори за C++