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であれば正常終了、それ以外の値であれば異常終了と判定されます。

システム関数でシェルコマンドを実行する際は、ユーザー入力をコマンドとして実行するため、セキュリティーホールにならないよう、入力コマンドには注意が必要です。例えば、検証やパラメータ化されたコマンドの使用などにより、入力コマンドの安全性を確保できます。

bannerAds