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
. 그렇지 않은 NULL
system
경우 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
함수