std::system
|
|
Program termination | |||||||||||||||||||||
|
|||||||||||||||||||||
Unreachable control flow | |||||||||||||||||||||
(C++23)
|
|||||||||||||||||||||
Communicating with the environment | |||||||||||||||||||||
|
|||||||||||||||||||||
Signals | |||||||||||||||||||||
Signal types | |||||||||||||||||||||
Non-local jumps | |||||||||||||||||||||
Types | |||||||||||||||||||||
Defined in header <cstdlib>
|
||
int system(
const
char
* command )
;
|
||
Calls the host environment's command processor (e.g. /bin/sh
, cmd.exe
) with the parameter command
. Returns an implementation-defined value (usually the value that the invoked program returns).
If command
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.
Parameters
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 |
Return value
Implementation-defined value. If command
is a null pointer, returns a nonzero value if and only if the command processor exists.
Notes
On POSIX systems, the return value can be decomposed using WEXITSTATUS
and WSTOPSIG
.
The related POSIX function popen
makes the output generated by command
An explicit flush of std::cout is also necessary before a call to std::system
Example
#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
See also
C documentation for system
|