Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Executa um comando.
Importante
Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.
Sintaxe
int system(
const char *command
);
int _wsystem(
const wchar_t *command
);
Parâmetros
command
O comando a ser executado.
Valor retornado
Se command for NULL e o interpretador de comandos for encontrado, retornará um valor diferente de zero. Se o interpretador de comandos não for encontrado, retornará 0 e definirá errno como ENOENT. Se command não NULLfor , system retornará o valor retornado pelo interpretador de comandos. Retornará o valor 0 somente se o interpretador de comandos retornar o valor 0. Um valor retornado -1 indica um erro e errno é definido com um dos seguintes valores:
| Valor | Descrição |
|---|---|
E2BIG |
A lista de argumentos (que depende do sistema) é muito grande. |
ENOENT |
O interpretador de comandos não pode ser encontrado. |
ENOEXEC |
O arquivo do interpretador de comandos não pode ser executado porque o formato não é válido. |
ENOMEM |
Não há memória suficiente disponível para executar o comando; ou a memória disponível foi corrompida; ou existe um bloco inválido, o que indica que o processo de chamada foi alocado incorretamente. |
Para obter mais informações sobre códigos de retorno, confira errno, _doserrno, _sys_errlist e _sys_nerr.
Comentários
A função system passa command para o interpretador de comandos, que executa a cadeia de caracteres como um comando do sistema operacional. system usa as variáveis de ambiente COMSPEC e PATH para localizar o CMD.exe do arquivo do interpretador de comandos. Se command for NULL, a função apenas verificará se o interpretador de comandos existe.
É necessário liberar explicitamente, usando fflush ou _flushall, ou fechar qualquer fluxo antes de chamar system.
A função _wsystem é uma versão de caractere largo da função system; o argumento command para _wsystem é uma cadeia de caracteres larga. Caso contrário, essas funções se comportam de forma idêntica.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Mapeamentos de rotina de texto genérico
Rotina TCHAR.H |
_UNICODE e _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
|---|---|---|---|
_tsystem |
system |
system |
_wsystem |
Requisitos
| Rotina | Cabeçalho necessário |
|---|---|
system |
<process.h> ou <stdlib.h> |
_wsystem |
<process.h> ou <stdlib.h> ou <wchar.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
Esse exemplo usa system para usar TYPE em um arquivo de texto.
// crt_system.c
#include <process.h>
int main( void )
{
system( "type crt_system.txt" );
}
Entrada: crt_system.txt
Line one.
Line two.
Saída
Line one.
Line two.
Confira também
Controle de processo e ambiente
_exec, _wexec funções
exit, _Exit, _exit
_flushall
_spawn, _wspawn funções