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.