Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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



Наступна програма FILESHOW.CPP використає аргументи командного рядка для виводу вмісту зазначеного користувачем файлу на екран. Наприклад, щоб використати програму FILESHOW для виводу вмісту файлу AUTOEXEC.BAT з кореневого каталогу, ваш командний рядок стає наступною:

 

C: \> FILESHOW \AUTOEXEC.BAT <Enter>

 

Наступні оператори реалізують програму FILESHOW.CPP. Ця програма починається з перевірки параметра argc, щоб переконатися, що користувач указав файл у командному рядку. Якщо користувач включає ім'я файлу параметр argc буде містити значення 2. Далі програма відкриває й виводить уміст файлу, використовуючи методи, які ви вивчали в уроці 34. Як бачите, якщо програма не може відкрити зазначений файл, вона виводить повідомлення про помилку й завершується:

 

#include <iostream.h>

#include <fstream.h>

#include <stdlib.h>

void main(int argc, char *argv[]) {
char line[256];
if (argc < 2)

{
cerr << "Ви повинні вказати ім'я файлу" << endl;
exit(1);
}

ifstream input_file(argv[1]) ;
if (input_file.fail()) cerr << "Помилка відкриття BOOKINPO.DAT" << endl;
else

{
while ((! input_file.eof()) && (! input_file.fail()))

{
input_file.getline(line, sizeof(line));
if (! input_file.fail()) cout << line << endl;
}
}
}

 

Доступ до змінних середовища ОС

Як ви знаєте, більшість операційних систем дозволяють вам визначати змінні середовища, до яких ваші програми можуть звертатися для визначення різних параметрів, таких як командний шлях. Наприклад, якщо ви використаєте середовище MS-DOS, ви встановлюєте або виводите змінні середовища за допомогою команди SET. Залежно від типу вашого компілятора ви можете звертатися до змінного середовища з вашої програми, використовуючи третій параметр main з ім'ям env. Подібно параметру argv, параметр env являє собою вказівник на масив вказівників на символьні рядки. Також, подібно argv, C++ завершує цей масив символом NULL. Якщо ваш компілятор підтримує параметр env, ви можете змінити заголовок функції main, як показано нижче:

 

void main(int argc, char *argv[], char *env[])

 

Наступна програма SHOWENV.CPP виконує цикл перебору елементів масиву env для виводу змінні середовища програми:

 

#include <iostream.b>

void main(int argc, char *argv[], char *env[])

{
while (*env) cout << *env++ << endl;
}

 

Як бачите, програма просто виконує цикл по елементах масиву env, поки не зустріне вказівник NULL, що вказує останній запис масиву. Якщо ви відкомпілюєте й запустите цю програму, вона виведе ваші змінні середовища, як показано нижче:

 

С:\> SHOWENV <ENTER>

ТЕМР=З:\WINDOWS\TEMP

PROMPT=$p$g

COMSPEC=C:\WINDOWS\COMMAND.СОМ

РАТН=С:\WINDOWS;С:\DOS

Доступ до змінного середовища

Залежно від типу компілятора, ваші програми можуть звертатися до змінного середовища операційної системи, використовуючи третій параметр функції main з ім'ям env. Подібно параметру argv, параметр env являє собою масив вказівників на символьні рядки, кожний з яких указує змінну середовища. Щоб звернутися до змінного середовища, використовуючи параметр env, зміните заголовок функції main у такий спосіб:

void main(int argc, char *argv[], char *env[])

 

Рекомендації до виконання:

Щоб збільшити кількість додатків, підтримуваних вашою програмою, C++ дозволяє використати аргументи командного рядка. Коли ви запускаєте програму із системної підказки, інформація яку ви вводите, стає командним рядком програми.

 

ü Щоб дозволити вашим програмам звертатися до командного рядка C++ передає функції main два параметри: argc і argv.

ü Параметр argc містить кількість аргументів командного рядка.

ü Параметр argv являє собою масив вказівників на символьні рядки, кожна з яких містить аргумент командного рядка.

ü Залежно від вашого компілятора програма може звертатися до третього параметра main з ім'ям env, що являє собою масив вказівників на символьні рядки, що містять змінні середовища.

 

Завдання на практику:

1. Ознайомитись із теоретичними відомостями.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.