Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API