Spec-Zone.ru › C++

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

Spec-Zone.ru

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