|
|
Defined in header <cstdlib> | ||
int system(constchar* command); | ||
Calls the host environment's command processor (e.g./bin/sh
,cmd.exe
) with the parametercommand
. Returns an implementation-defined value (usually the value that the invoked program returns).
Ifcommand
is a null pointer, checks if the host environment has a command processor and returns a nonzero value if and only if the command processor exists.
Contents |
command | - | character string identifying the command to be run in the command processor. If a null pointer is given, command processor is checked for existence |
Implementation-defined value. Ifcommand
is a null pointer, returns a nonzero value if and only if the command processor exists.
On POSIX systems, the return value can be decomposed usingWEXITSTATUS
andWSTOPSIG
.
The related POSIX functionpopen
makes the output generated bycommand
available to the caller.
An explicit flush ofstd::cout is also necessary before a call tostd::system, if the spawned process performs any screen I/O.
#include <cstdlib>#include <fstream>#include <iostream> int main(){ std::system("ls -l >test.txt");// executes the UNIX command "ls -l >test.txt"std::cout<<std::ifstream("test.txt").rdbuf();}
Possible output:
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
C documentation forsystem |