Ваш браузер не поддерживается
Интернет-сервис Студворк построен на передовых, современных технологиях и не может гарантировать полную поддержку текущего браузера.

Установить новый браузер
-
Google Chrome

Скачать
Яндекс Браузер

Скачать
Opera

Скачать
Firefox

Скачать
Microsoft Edge
Нажимая на эту кнопку, вы соглашаетесь с тем, что сайт в вашем браузере может отображаться некорректно. Связаться с техподдержкой
8 (800) 500-78-57 support@studwork.ru
Работаем по будням с 8.00 до 20.00 по МСК
Практическое руководство. Отображение аргументов командной строки
Аргументы, предоставляемые исполняемому файлу в командной строке, доступны через инструкции верхнего уровня или через необязательный параметр для метода Main . Аргументы предоставляются в форме массива строк. Каждый элемент массива содержит один аргумент. Пробелы между аргументами удаляются. Например, рассмотрим следующие вызовы из командной строки вымышленного исполняемого файла:
При выполнении приложения в Visual Studio аргументы командной строки можно указать на странице «Отладка» в конструкторе проектов.
Пример
Этот пример отображает аргументы командной строки, передаваемые в приложение командной строки. Показанные выходные данные — первая запись в таблице выше.
// The Length property provides the number of array elements. Console.WriteLine($"parameter count = "); for (int i = 0; i < args.Length; i++) < Console.WriteLine($"Arg[] = []"); > /* Output (assumes 3 cmd line args): parameter count = 3 Arg[0] = [a] Arg[1] = [b] Arg[2] = [c] */
См. также
- Обзор System.CommandLine
- Руководство. Начало работы с System.CommandLine
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Анализ аргументов командной строки C
В коде запуска Microsoft C используются следующие правила при обработке аргументов, вводимых в командной строке операционной системы.
- Аргументы разделяются символами пробела. Это могут быть пробелы или символы табуляции.
- Первый аргумент ( argv[0] ) обрабатывается особым образом. Он представляет имя программы. Это должен быть допустимый путь, поэтому разрешены части, заключенные в двойные кавычки ( « ). Эти знаки двойных кавычек не включаются в выходные данные argv[0] . Заключение частей в двойные кавычки не позволяет интерпретировать пробел или символ табуляции как конец аргумента. Последующие правила в этом списке не применяются.
- Строка, заключенная в двойные кавычки, обрабатывается как один аргумент независимо от наличия в ней символов пробелов. Строку в кавычках можно встроить в аргумент. Символ каретки ( ^ ) не распознается как escape-символ или разделитель. Внутри заключенной в кавычки строки пара двойных кавычек интерпретируется как одна экранированная двойная кавычка. Если командная строка заканчивается раньше, чем будет найдена закрывающая двойная кавычка, все уже прочитанные символы выводятся как один последний аргумент.
- Символ двойной кавычки после обратной косой черты ( \» ) интерпретируется как литеральный символ двойной кавычки ( « ).
- Символы обратной косой черты считаются литералами, если сразу за ними не стоит двойная кавычка.
- Если двойная кавычка стоит после четного числа символов обратной косой черты, в массив argv помещается по одному символу обратной косой черты ( \ ) для каждой пары символов обратной косой черты ( \\ ), а сама двойная кавычка ( « ) интерпретируется как разделитель строк.
- Если двойная кавычка стоит после нечетного числа символов обратной косой черты, в массив argv помещается по одному символу обратной косой черты ( \ ) для каждой пары символов обратной косой черты ( \\ ). Сам знак двойной кавычки в этом случае интерпретируется как escape-последовательность в сочетании с последним символом обратной косой черты, то есть в argv помещается литерал двойной кавычки ( « ).
В следующем списке, иллюстрирующем указанные выше правила, показаны результаты, передаваемые в массив argv для нескольких примеров аргументов командной строки. Выходные данные, представленный во втором, третьем и четвертом столбцах, получены из программы ARGS.C, приведенной после списка.
| Входные данные в командной строке | argv[1] | argv[2] | argv[3] |
|---|---|---|---|
| «a b c» d e | a b c | d | e |
| «ab\»c» «\\» d | ab»c | \ | d |
| a\\\b d»e f»g h | a\\\b | de fg | h |
| a\\\»b c d | a\»b | c | d |
| a\\\\»b c» d e | a\\b c | d | e |
| a»b»» c d | ab» c d |
Пример
Код
// ARGS.C illustrates the following variables used for accessing // command-line arguments and environment variables: // argc argv envp // #include int main( int argc, // Number of strings in array argv char *argv[], // Array of command-line argument strings char **envp ) // Array of environment variable strings < int count; // Display each command-line argument. printf_s( "\nCommand-line arguments:\n" ); for( count = 0; count < argc; count++ ) printf_s( " argv[%d] %s\n", count, argv[count] ); // Display each environment variable. printf_s( "\nEnvironment variables:\n" ); while( *envp != NULL ) printf_s( " %s\n", *(envp++) ); return; >
Ниже приведен один пример данных, выводимых этой программой:
Command-line arguments: argv[0] C:\MSC\ARGS.EXE Environment variables: COMSPEC=C:\NT\SYSTEM32\CMD.EXE PATH=c:\nt;c:\binb;c:\binr;c:\nt\system32;c:\word;c:\help;c:\msc;c:\; PROMPT=[$p] TEMP=c:\tmp TMP=c:\tmp EDITORS=c:\binr WINDIR=c:\nt
Завершение блока, относящегося только к системам Майкрософт
Основы алгоритмизации и программирования//СИНЕРГИЯ//МОСАП//МОИ//МТИ (Решение → 90831)
1. Первым разработанным языком программирования высокого уровня является …Ответ после оплаты 2. Язык … предназначен для обработки деловой информацииОтвет после оплаты 3. Канал передачи команд и данных между всеми составными
1. Первым разработанным языком программирования высокого уровня является …
Ответ после оплаты
2. Язык … предназначен для обработки деловой информации
Ответ после оплаты
3. Канал передачи команд и данных между всеми составными частями компьютера это …
Ответ после оплаты
4. Биты, которые устанавливаются в единицу или в ноль в зависимости от результата выполнения последней команды, содержатся в …
Ответ после оплаты
5. Операндами команды могут быть … памяти
Ответ после оплаты
6. Когда в команде указывается регистр, содержащий адрес аргумента, то это …
Ответ после оплаты
7. Когда в команде указывается константа, равная адресу аргумента, то это …
Ответ после оплаты
8. Команды процессора еще называют …
Ответ после оплаты
9. Аппаратный стек реализуется на базе …
Ответ после оплаты
10. К языкам программирования, которые применяются при научных вычислениях, относятся: …
Ответ после оплаты
11. К языкам логического программирования относится язык …
Ответ после оплаты
12. C++, Object Pascal, Java относятся к …
Ответ после оплаты
13. Язык LISP относится к … языкам
Ответ после оплаты
14. Лексемами являются …
Ответ после оплаты
15. Таблица символов, в которой каждому идентификатору сопоставлен свой адрес, составляется на этапе … анализа
Ответ после оплаты
16. Константы обозначают …
Ответ после оплаты
17. Приблизительно точность вычислений вещественных чисел типа double составляет … десятичных цифр
Ответ после оплаты
18. … – любая положительная вещественная константа в форме с фиксированной точкой или целая константа
Ответ после оплаты
19. Для использования символов в кодировке Unicode язык C++ предоставляет тип wchar_t, в котором под каждый символ отводится …
Ответ после оплаты
20. В языке Си двойным амперсандом && обозначается логическое …
Ответ после оплаты
21. В языке Си логическое отрицание обозначается …
Ответ после оплаты
22. Длина строки …
Ответ после оплаты


© Библиотека Ирины Эланс


Библиотека Ирины Эланс, основана как общедоступная библиотека в интернете. Онлайн-библиотеке академических ресурсов от Ирины Эланс доверяют студенты со всей России.
Библиотека Ирины Эланс
Полное или частичное копирование материалов разрешается только с указанием активной ссылки на сайт:
Ирина Эланс открыла библиотеку в 2007 году.