std::system
ja.cppreference.net より
| ヘッダ <cstdlib>
|
||
int system( const char* command );
|
||
で定義されます。ホスト環境のコマンドプロセッサ(例: /bin/sh、 cmd.exe)をパラメータ command で呼び出します。処理系定義の値(通常は呼び出されたプログラムが返す値)を返します。
もし command がヌルポインタの場合、ホスト環境にコマンドプロセッサが存在するかどうかを確認し、コマンドプロセッサが存在する場合に限り非ゼロの値を返します。
パラメータ
| command | - | コマンドプロセッサで実行されるコマンドを識別する文字列。ヌルポインタが指定された場合、コマンドプロセッサの存在がチェックされます |
戻り値
実装定義の値。
command
がヌルポインタの場合、コマンドプロセッサが存在する場合にのみ非ゼロの値を返す。
注記
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 documentation
for
system
|
|
Cドキュメント
for
system
|