시스템 명령이 성공적으로 실행되었고 오류를 반환하지 않았는지 확인해야합니까? MSDN Library에 따르면 여러 가지 경우가 있습니다. 다음 스 니펫이 맞는지 확실하지 않습니다.system() 결과를 확인하는 방법
char buffer[100];
int ret_val;
strcpy(buffer, "copy *.txt ");
strcat(buffer, path);
ret_val = system(buffer);
if(0 != ret_val)
{
perror("There was an error");
}
else
{
printf("The command was run successfully.");
}
명령은 NULL이며 명령 인터프리터가 발견되면 0이 아닌 값을 반환
반환 값. 명령 인터프리터가 발견되지 않으면 0을 리턴하고 errno를 ENOENT로 설정합니다. command가 NULL이 아니면, 시스템은 명령 인터프리터가 리턴 한 값을 리턴합니다. 명령 인터프리터가 값 0을 반환하는 경우에만 값 0을 반환합니다. 반환 값 -1은 오류를 나타내며 errno는 다음 값 중 하나로 설정됩니다.
가능한 중복 [시스템()에 의해 실행되는 명령의 상태를 얻는 방법] (http://stackoverflow.com/questions/8941691/how-to-get-the-status-of-command-run-by -system) –
절대'system'을 사용하지 마십시오. 안전하고 견고한 코드를 작성하는 것은 거의 불가능합니다. –