std::system
From cppreference.com
| ヘッダ <cstdlib> で定義 |
||
| int system( const char* command ); |
||
ホスト環境のコマンドプロセッサ(例: /bin/sh、cmd.exe)をパラメータ command で呼び出します。実装定義の値(通常は呼び出されたプログラムが返す値)を返します。
command がヌルポインタの場合、ホスト環境にコマンドプロセッサが存在するかどうかをチェックし、コマンドプロセッサが存在する場合にのみゼロ以外の値を返します。
目次 |
[編集] パラメータ
| command | - | コマンドプロセッサで実行するコマンドを識別する文字列。ヌルポインタが指定された場合、コマンドプロセッサの存在がチェックされます。 |
[編集] 戻り値
実装定義の値。command がヌルポインタの場合、コマンドプロセッサが存在する場合にのみゼロ以外の値を返します。
[編集] 注記
POSIX システムでは、戻り値は WEXITSTATUS および WSTOPSIG を使用して分解できます。
関連する POSIX 関数である popen は、command によって生成された出力を呼び出し元で利用できるようにします。
起動されたプロセスが画面 I/O を実行する場合、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 について)
|