Espacios de nombres
Variantes
Acciones

std::system

De cppreference.com
< cpp‎ | utility‎ | program
 
 
Biblioteca de servicios
 
 
Definido en el archivo de encabezado <cstdlib>
int system(constchar* command );

Llama al procesador de comandos del entorno anfitrión (p. ej., /bin/sh, cmd.exe, command.com) con el parámetro command. Devuelve un valor definido por la implementación (habitualmente el valor que devuelve el programa invocado).

Si command es un puntero nulo, comprueba si el entorno anfitrión tiene un procesador de comandos y devuelve un valor distinto de cero si y solamente si el procesador de comandos existe.

Contenido

[editar]Parámetros

command - Cadena de caracteres que identifica el comando a ser ejecutado en el procesador de comandos. Si se da un puntero nulo, comprueba la existencia del procesador de comandos.

[editar]Valor de retorno

Valor definido por la implementación. Si command es un puntero nulo, devuelve un valor distinto de cero si y solamente si el procesador de comandos existe.

[editar]Notas

En sistemas POSIX, el valor de retorno puede descomponerse utilizando WEXITSTATUS y WSTOPSIG.

La función POSIX relacionada popen hace la salida generada por command disponible al llamante.

También es necesario vaciar a std::cout antes de una llamada a std::system si el proceso generado realiza cualquier E/S de pantalla.

[editar]Ejemplo

#include <cstdlib>#include <fstream>#include <iostream>   int main(){ std::system("ls -l >test.txt");// ejecuta el comando UNIX command "ls -l >test.txt"std::cout<<std::ifstream("test.txt").rdbuf();}

Posible salida:

total 16 -rwxr-xr-x 1 2001 2000 8859 Sep 30 20:52 a.out -rw-rw-rw- 1 2001 2000 161 Sep 30 20:52 main.cpp -rw-r--r-- 1 2001 2000 0 Sep 30 20:52 test.txt

[editar]Véase también

close