system, _wsystem

명령을 실행합니다.

Important

이 API는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.

구문

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

매개 변수

command
실행할 명령입니다.

반환 값

commandNULL이고 명령 인터프리터가 발견되면 0이 아닌 값을 반환합니다. 명령 인터프리터를 찾을 수 없으면 0을 반환하고 .로 ENOENT설정합니다errno. 그렇지 않은 NULLsystem 경우 command 명령 인터프리터가 반환하는 값을 반환합니다. 명령 인터프리터가 값 0을 반환할 때만 값 0을 반환합니다. 반환 값 -1은 오류를 나타내며 errno 다음 값 중 하나로 설정됩니다.

설명
E2BIG 인수 목록(시스템 종속성)이 너무 큽니다.
ENOENT 명령 인터프리터를 찾을 수 없습니다.
ENOEXEC 형식이 유효하지 않으므로 명령 인터프리터 파일을 실행할 수 없습니다.
ENOMEM 명령을 실행할 수 있는 메모리가 부족합니다. 또는 사용 가능한 메모리가 손상되었습니다. 또는 호출 프로세스가 잘못 할당되었음을 나타내는 유효하지 않은 블록이 있습니다.

반환 코드에 대한 자세한 내용은 , , 및 를 참조하세요errno._sys_nerr_sys_errlist_doserrno

설명

system 함수는 command를 명령 인터프리터로 전달합니다. 그러면 문자열이 운영 체제 명령으로 실행됩니다. systemCOMSPECPATH 환경 변수를 사용하여 명령 인터프리터 파일 CMD.exe를 찾습니다. commandNULL일 경우 함수는 명령 인터프리터가 존재하는지 확인합니다.

호출system하기 전에 스트림을 명시적으로 플러시하거나, 사용 fflush 하거나_flushall, 닫아야 합니다.

_wsystemsystem의 와이드 문자 버전이며, 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을 사용하여 텍스트 파일을 입력합니다.

// 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 함수