🔧 標準ライブラリ ・ stdlib.h ・ C89
system の使い方int system(const char *command);
OSのシェルを介して外部コマンドを実行する。コマンド文字列にユーザー入力をそのまま連結すると任意コマンド実行(コマンドインジェクション)につながる重大な脆弱性になる危険な関数。 実行結果(終了ステータス)はコマンド文字列を解釈するシェルの仕様に依存し、処理系によって形式が異なる。
#include <stdlib.h>
int main(void) {
system("echo hello");
return 0;
}
⚠️ ユーザー入力を含む文字列を渡すとシェル経由で任意のコマンドを実行されうる。信頼できない入力は絶対に渡さない。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
system と一緒に使う関数もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。