Namespaces
Variants

system

From cppreference.net
ヘッダーで定義 <stdlib.h>
int system ( const char * command ) ;

パラメータ command を使用してホスト環境のコマンドプロセッサを呼び出します。 実装定義の値(通常は呼び出されたプログラムが返す値)を返します。

commandがヌルポインタの場合、ホスト環境にコマンドプロセッサが存在するかどうかをチェックし、コマンドプロセッサが存在する場合にのみ非ゼロの値を返します。

目次

パラメータ

command - コマンドプロセッサで実行されるコマンドを識別する文字列。ヌルポインタが指定された場合、コマンドプロセッサの存在がチェックされます

戻り値

実装定義の値。 command がヌルポインタの場合、コマンドプロセッサが存在する場合にのみ非ゼロの値を返します。

注記

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

関連するPOSIX関数 popen は、 command によって生成された出力を呼び出し元が利用できるようにします。

この例では、Unixコマンド date +%A のシステムコールと、(インストールされている可能性のある) gcc コンパイラへのシステムコールがコマンドライン引数( --version )と共に実行されます:

#include <stdlib.h>
int main(void) {
    system("date +%A");
    system("gcc --version");
}

出力例:

Wednesday
gcc (GCC) 11.2.0
...

参考文献

  • C17規格 (ISO/IEC 9899:2018):
  • 7.22.4.8 system関数 (p: 257)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.22.4.8 system関数 (p: 353-354)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.20.4.6 system関数 (p: 317)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.10.4.5 system関数

関連項目

翻訳の説明: - 「C++ documentation」→「C++ ドキュメント」と翻訳 - 「system」はC++の関数名/キーワードのため翻訳せず保持 - HTMLタグ、属性、構造は完全に保持 - 「for」は文脈上そのまま保持(「〜のための」という意味で使用されているため)