system, _wsystem

명령을 실행합니다.

Important

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

구문

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

매개 변수

command
실행할 명령입니다.

반환 값

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

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

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

설명

system 함수는 command를 명령 인터프리터로 전달합니다. 그러면 문자열이 운영 체제 명령으로 실행됩니다. system은 COMSPEC 및 PATH 환경 변수를 사용하여 명령 인터프리터 파일 CMD.exe를 찾습니다. 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을 사용하여 텍스트 파일을 입력합니다.

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