std::system
| Определён в заголовке <cstdlib>
|
||
int system( const char* command );
|
||
Вызывает командный процессор хост-среды (например, /bin/sh, cmd.exe) с параметром command. Возвращает значение, определённое реализацией (обычно то, которое возвращает вызванная программа).
Если command является нулевым указателем, проверяет, есть ли у хост-среды командный процессор, и возвращает ненулевое значение тогда и только тогда, когда командный процессор существует.
Параметры
| command | - | строка символов, идентифицирующая команду для выполнения в командном процессоре. Если передан нулевой указатель, проверяется наличие командного процессора |
Возвращаемое значение
Определяемое реализацией значение. Если
command
является нулевым указателем, возвращает ненулевое значение тогда и только тогда, когда командный процессор существует.
Примечания
В системах POSIX возвращаемое значение может быть разложено с помощью
WEXITSTATUS
и
WSTOPSIG
.
Соответствующая функция POSIX
popen
делает вывод, сгенерированный
command
доступным для вызывающей стороны.
Явный сброс std::cout также необходим перед вызовом std::system , если порожденный процесс выполняет любой ввод-вывод на экран.
Пример
#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
|