C++ でシェルコマンドを実行する方法
C++ではsystem関数を使ってシェルコマンドを実行できます。system関数のプロトタイプは次のとおりです。
int system(const char* command);
コマンド引数は、実行するシェル命令の文字列です。正常に実行できるとsystem関数は0を返します。失敗すると、0以外の値を返します。
以下の簡単な例は、system 関数を使用してシェルコマンドを実行する方法を説明します。
#include <cstdlib>
int main() {
// 执行ls命令
int result = system("ls");
if (result == 0) {
// 执行成功
// ...
} else {
// 执行失败
// ...
}
return 0;
}
システム関数を呼び出してlsコマンドを実行すると、結果がresult変数に格納されます。resultが0であれば正常終了、それ以外の値であれば異常終了と判定されます。
システム関数でシェルコマンドを実行する際は、ユーザー入力をコマンドとして実行するため、セキュリティーホールにならないよう、入力コマンドには注意が必要です。例えば、検証やパラメータ化されたコマンドの使用などにより、入力コマンドの安全性を確保できます。