Namespaces
Variants
Views
Actions

std::system

From cppreference.com
< cpp‎ | utility‎ | program
 
 
 
Program support utilities
Program termination
(C++11)
(C++11)
Communicating with the environment
system
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, command.com) 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.

Contents

[edit] 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

[edit] Return value

Implementation-defined value. If command is a null pointer, returns a nonzero value if and only if the command processor exists.

[edit] 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 available to the caller.

[edit] Example

#include <cstdlib>
#include <fstream>
#include <iostream>
 
int main()
{
    std::system("ls -l >test.txt"); // execute 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

[edit] See also

C documentation for system