Поделиться через


system, _wsystem

Выполняет команду.

Важно!

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

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
    Недостаточно памяти доступно для выполнения команды; или доступная память была повреждена; или существует недопустимый блок, что указывает на то, что для процесса, который выполняет вызов, неправильно была выделена память.

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

Заметки

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

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

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

Универсальное текстовое сопоставление функций

Подпрограмма 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" );
}

Input: crt_system.txt

Line one.
Line two.

Output

Line one.
Line two.

Эквивалент в .NET Framework

См. также

Ссылки

Управление процессами и средой

Функции _exec, _wexec

exit, _exit

_flushall

Функции _spawn, _wspawn