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