Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 1.16.8 Додаткові можливості функціїтаіп() - Програмування С, С++теорія та практика (частина 1) - Studbook
Главная->Інформатика та програмування->Содержание->1.16.8 Додаткові можливості функціїтаіп()

Програмування С, С++теорія та практика (частина 1)

1.16.8 Додаткові можливості функціїтаіп()

Потрібно зауважити, що функція таіп() може як повертати деяке значення в операційну систему, так і приймати параметри.

тип таіп(іп{ агдс, сИаг* агду[], сИаг *епу[]) { /* ... */ }

Імена параметрів можуть мати будь-які назви, але прийнято використовувати агдс, агду та епу. Перший параметр агдс містить ціле число аргументів командного рядка, що посилається функції таіп();

атду - це масив покажчиків на рядки. Для версії ДОС агду[0] містить повний шлях програми, що в даний момент виконується, агду[1] та агду[2] відповідно вказує на перший та другий після імені програми параметри командного рядка, агду[агдс-1] вказує на останній аргумент, агду[агдс] містить МПЬЬ.

епу - це масив покажчиків на рядки, причому кожний елемент епу[] містить рядок типу ЕМУУАК=значення. ЕМУУАК - це ім’я змінної середовища.

Можливо для першого ознайомлення з Сі ця інформація не є обов’язковою, проте не може не зацікавити приклад програми, що демонструє найпростіший шлях використання аргументів, що передаються функції таіп():

/* Використання аргументів функції таіп() */

#іпсіи<3е <зЬЗіо.Ь>

#іпсіи<3е <зЬ31іЬ.Ь>

тоііЗ таіп(іп£ агдс, сЬаг *агду[], сЬаг *ег^[])

{

іпЬ і ;

ргіп££("Значення агдс = %<3 \п\п",агдс);

ргіп££("В командному рядку міститься %<3 параметрів \п",агдс); £ог (і=0; і<агдс; і++)

ргіп££(" агду[%<3]: %з\п", і, агду[і]); ргіп££("Середовище містить наступні рядки:\п");

£ог (і=0; ег^[і] != ШЬЬ; і++)

ргіп££(" епу[%<3]: %з\п", і, епу[і]);

}

Організуємо виконання програми з командним рядком таким чином:

С:> с:\'Ьс\'Ьез'Ьагдз.ехе 1_з,Ь_агд "2_агд " 3 4 "йитту" з£ор!

В результаті роботи програми ви отримаєте приблизно наступне: Значення агдс = 7

В командному рядку міститься 7 параметрів

агд^0]: с:\'Ьс\'Ьез'Ьагдз.ехе

агд^1]: 1_з£_агд

агд^2]: 2_агд

агд^З]: 3

агду[4]: 4

агд^5] : Литту

агд^б]: з£ор!

Середовище містить наступні рядки: еп^[0]: СОМ8РЕС=С:\СОММАНБ.СОМ епу[1] : РКОМРТ=$р $д

епV[2]: РАТН=С:\8РКІНТ;С:\БО8;С:\ТС

Максимальна загальна довжина командного рядка, включаючи пробіли та ім’я самої програми, не може перевищувати 128 символів, що є Б08-обмеженням.

 

81