std::system
| Определён в заголовочном файле <cstdlib>
|
||
| int system( const char* command ); |
||
Вызов командного интерпретатора среды выполнения (/bin/sh, cmd.exe, command.com) с параметром command. Возвращается определённое реализацией значение (обычно, которое возвратила вызванная программа).
Если command - нулевой указатель, то производится проверка наличия командного интерпретатора в системе: будет возвращено значение отличное от 0, если он присутствует.
Содержание |
[править] Параметры
| command | — | Символьная строка, которая содержит команду для запуска командному интерпретатору.
Если она является нулевым указателем, то проверяется наличие командного интерпретатора. |
[править] Возвращаемое значение
Определённое реализацией значение. Если command - нулевой указатель, то возвращается не 0 только в том случае, если командный интерпретатор присутствует.
[править] Примечание
На системах POSIX, возвращаемое значение может быть разделено, используя WEXITSTATUS and WSTOPSIG
Аналогичная POSIX-функция popen позволяет также прочитать вывод, которая сделала вызванная программа.
[править] Пример
#include <cstdlib> #include <fstream> #include <iostream> int main() { std::system("ls -l >test.txt"); // Вызов UNIX-команды "ls -l >test.txt" std::cout << std::ifstream("test.txt").rdbuf(); }
Возможный вывод:
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 — system
|

