Язык программирования system с

system

Calls the host environment’s command processor with the parameter command . Returns an implementation-defined value (usually the value that the invoked program returns).

If command is a null pointer, checks if the host environment has a command processor and returns a nonzero value if and only if the command processor exists.

Contents

[edit] Parameters

command character string identifying the command to be run in the command processor. If a null pointer is given, command processor is checked for existence

[edit] Return value

Implementation-defined value. If command is a null pointer, returns a nonzero value if and only if the command processor exists.

[edit] Notes

On POSIX systems, the return value can be decomposed using WEXITSTATUS and WSTOPSIG .

The related POSIX function popen makes the output generated by command available to the caller.

[edit] Example

In this example there is a system call of the unix command date +%A and a system call to (possibly installed) gcc compiler with command-line argument (—version):

#include int main(void) { system("date +%A"); system("gcc --version"); }

[edit] References

Источник

system , _wsystem

Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.

Синтаксис

int system( const char *command ); int _wsystem( const wchar_t *command ); 

Параметры

command
Команда для выполнения.

Возвращаемое значение

Если параметр command имеет значение NULL и найден интерпретатор команд, возвращает ненулевое значение. Если интерпретатор команд не найден, возвращает значение 0 и задает значение errno ENOENT . Если command значение не NULL равно , system возвращает значение, возвращаемое интерпретатором команд. Она возвращает значение 0, только если интерпретатор команд возвращает значение 0. Возвращаемое значение -1 указывает на ошибку и errno имеет одно из следующих значений:

Значение Описание
E2BIG Список аргументов (который зависит от системы) слишком велик.
ENOENT Не удается найти интерпретатор команд.
ENOEXEC Не удается выполнить файл интерпретатора команд, так как формат недопустим.
ENOMEM Недостаточно памяти для выполнения команды; или доступная память повреждена; или существует недопустимый блок, который указывает, что вызывающий процесс был выделен неправильно.

Дополнительные сведения о кодах возврата см. в разделе errno , _doserrno , _sys_errlist и _sys_nerr .

Комментарии

Функция system передает параметр command интерпретатору команд, который выполняет эту строку как команду операционной системы. Для поиска файла интерпретатора команд CMD.exe функция system использует переменные среды COMSPEC и PATH . Если параметр command имеет значение NULL , функция только проверяет, существует ли интерпретатор команд.

Необходимо явно выполнить очистку с помощью fflush или _flushall или закрыть любой поток перед вызовом system .

_wsystem — это версия system с расширенными символами; аргумент command для _wsystem — строка расширенных символов. В остальном эти функции ведут себя одинаково.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см. статью Глобальное состояние в CRT.

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

TCHAR.H Обычной _UNICODE и _MBCS не определены _MBCS Определенные _UNICODE Определенные
_tsystem system system _wsystem

Требования

Подпрограмма Обязательный заголовок
system или
_wsystem , или

Дополнительные сведения о совместимости см. в разделе Compatibility.

Пример

В этом примере функция system используется для печати (TYPE) текстового файла.

// crt_system.c #include int main( void )

Входные данные: crt_system.txt

Вывод

Источник

Функция system

Функция выполняет заданную, через параметр syscom , системную команду. На самом деле, функция не сама выполняет команду, она вызывает командный процессор для выполнения команд. После выполнения команды, командный процессор возвращает управление программе, возвращая целочисленное значение, интерпретация которого зависит от системы.

Эта функция может принимать в качестве аргумента нулевой указатель — NULL , для проверки существования командного процессора.

Параметры:

Возвращаемое значение

Возвращаемое значение зависит от текущих характеристик окружающей среды. Во многих системах, 0 используется для указания на то, что команда была успешно выполнена. Значения отличные от нуля указывают на какую-то ошибку.
Если аргумент является NULL , функция возвращает ненулевое значение, если командный процессор доступен, и ноль в противном случае.

Пример: исходный код программы

//пример использования функции system #include #include int main() < // Проверка, доступен ли командный процессор if ( system(NULL) ) std::cout << "Командный процессор доступен\n"; else exit (1); // выход из программы std::cout << "Выполнение команды dir. \n\n"; int i = system ("dir"); // показать файлы текущей директории std::cout

Пример работы программы

Тестировал программу в Линуксе, очень похожий вывод покажет программа и в ОС Windows. программа показала, что командный процессор готов к выполнению команды системной dir , команда выполнилась и мы на экране увидели список файлов в текущей директории, файлы разделены пробелом.

Командный процессор доступен
Выполнение команды dir…

er example.txt~ Makefile myfile.txt oldname\ (другая\ копия).txt
example.txt main.o myfile~ newname.txt

Источник

system

If command is a null pointer, the function only checks whether a command processor is available through this function, without invoking any command.

The effects of invoking a command depend on the system and library implementation, and may cause a program to behave in a non-standard manner or to terminate.

Parameters

command C-string containing the system command to be executed.
Or, alternatively, a null pointer, to check for a command processor.

Return Value

If command is a null pointer, the function returns a non-zero value in case a command processor is available and a zero value if it is not.

If command is not a null pointer, the value returned depends on the system and library implementations, but it is generally expected to be the status code returned by the called command, if supported.

Example

/* system example : DIR */ /* printf */ /* system, NULL, EXIT_FAILURE */ int main () < int i; printf ("Checking if processor is available. "); if (system(NULL)) puts ("Ok"); else exit (EXIT_FAILURE); printf ("Executing command DIR. \n"); i=system ("dir"); printf ("The value returned was: %d.\n",i); return 0; >

Data races

The function accesses the array pointed by command .
Concurrently calling this function with a null pointer as argument is safe. Otherwise, it depends on the system and library implementation.

Exceptions (C++)

No-throw guarantee: this function does not throw exceptions.

If command is not a null pointer, it causes undefined behavior.

Источник

system

If command is a null pointer, the function only checks whether a command processor is available through this function, without invoking any command.

The effects of invoking a command depend on the system and library implementation, and may cause a program to behave in a non-standard manner or to terminate.

Parameters

command C-string containing the system command to be executed.
Or, alternatively, a null pointer, to check for a command processor.

Return Value

If command is a null pointer, the function returns a non-zero value in case a command processor is available and a zero value if it is not.

If command is not a null pointer, the value returned depends on the system and library implementations, but it is generally expected to be the status code returned by the called command, if supported.

Example

/* system example : DIR */ /* printf */ /* system, NULL, EXIT_FAILURE */ int main () < int i; printf ("Checking if processor is available. "); if (system(NULL)) puts ("Ok"); else exit (EXIT_FAILURE); printf ("Executing command DIR. \n"); i=system ("dir"); printf ("The value returned was: %d.\n",i); return 0; >

Data races

The function accesses the array pointed by command .
Concurrently calling this function with a null pointer as argument is safe. Otherwise, it depends on the system and library implementation.

Exceptions (C++)

No-throw guarantee: this function does not throw exceptions.

If command is not a null pointer, it causes undefined behavior.

Источник

Читайте также:  Язык программирования sql особенности
Оцените статью