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
, функция только проверяет, существует ли интерпретатор команд.
Перед вызовом system
необходимо явно очистить или fflush
_flushall
закрыть любой поток.
_wsystem
— это версия system
с расширенными символами; аргумент command
для _wsystem
— строка расширенных символов. В остальном эти функции ведут себя одинаково.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
TCHAR.H рутина |
_UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_tsystem |
system |
system |
_wsystem |
Требования
Маршрут | Обязательный заголовок |
---|---|
system |
<process.h> или <stdlib.h> |
_wsystem |
<process.h> или <stdlib.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
В этом примере функция system
используется для печати (TYPE) текстового файла.
// crt_system.c
#include <process.h>
int main( void )
{
system( "type crt_system.txt" );
}
Входные данные: crt_system.txt
Line one.
Line two.
Выходные данные
Line one.
Line two.
См. также
Управление процессами и средой
_exec
, _wexec
функции
exit
, , _Exit
_exit
_flushall
_spawn
, _wspawn
функции