名前空間
変種
操作

std::system

提供: cppreference.com
< cpp‎ | utility‎ | program
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ (C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
プログラムサポートユーティリティ
プログラム終了
(C++11)
(C++11)
環境との通信
system
シグナル
シグナルの種類
非ローカルジャンプ
 
ヘッダ <cstdlib> で定義
int system( const char* command );

引数 command を使用してホスト環境のコマンドプロセッサ (/bin/shcmd.execommand.com など) を呼び出します。 処理系定義の値 (通常、呼び出したプログラムが返した値) を返します。

command がヌルポインタの場合は、ホスト環境がコマンドプロセッサを持っているかどうかを調べ、コマンドプロセッサが存在する場合に限り非ゼロの値を返します。

目次

[編集] 引数

command - コマンドプロセッサで実行されるコマンドを表す文字列。 ヌルポインタが指定された場合は、コマンドプロセッサが存在するかどうかが調べられます

[編集] 戻り値

処理系定義の値。 command がヌルポインタの場合は、コマンドプロセッサが存在する場合に限り非ゼロの値を返します。

[編集] ノート

POSIX システムでは、 WEXITSTATUS および WSTOPSIG を使用して戻り値を分解できます。

関連する POSIX の関数 popencommand によって生成された出力を呼び出し元に利用可能にします。

[編集]

#include <cstdlib>
#include <fstream>
#include <iostream>
 
int main()
{
    std::system("ls -l >test.txt"); // execute 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

[編集] 関連項目