##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::system

From cppreference.com
< cpp‎ | utility‎ | program

Defined in header `<cstdlib>` |  |
int system( const char* command ); |  |

Calls the host environment's command processor (`/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 host environment has a command processor and returns nonzero value only if the command processor exists.

### [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 nonzero value only if command processor exists.

### [edit] Notes

On POSIX systems, the return value can be decomposed using WEXITSTATUS and WSTOPSIG

Related POSIX function popen makes the output generated by `command` available to the caller.

### [edit] Example

Run this code

    #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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/utility/program/system&oldid=81691"