std::system
Определено в заголовке <cstdlib> |
||
|---|---|---|
int system( const char* command ); |
Вызывает обработчик команд операционной системы (например, /bin/sh, cmd.exe) с параметром command. Возвращает определенное реализацией значение (обычно значение, возвращаемое вызванной программой).
Если command является указателем на null, проверяет наличие обработчика команд в операционной системе и возвращает ненулевое значение только в том случае, если обработчик команд существует.
Параметры
| command | - | строка символов, определяющая команду, которая должна быть выполнена в обработчике команд. Если указан null-указатель, проверяется существование обработчика команд |
Возвращаемое значение
Определяемое реализацией значение. Если command является указателем на null, возвращает ненулевое значение только в том случае, если обработчик команд существует.
Примечания
В системах POSIX возвращаемое значение можно разложить с помощью WEXITSTATUS и WSTOPSIG.
Связанная функция POSIX popen делает вывод, сгенерированный command, доступным для вызывающей стороны.
Необходимо явное сброс std::cout перед вызовом std::system, если запущенный процесс выполняет вывод на экран.
Пример
#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();
}Возможный вывод:
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 |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/program/system