C言語から他のプログラムを起動する方法

システムコマンドを使用して、C言語から他のプログラムを起動できます。 以下は、system関数を使用して他のプログラムを起動するサンプルコードです。

#include <stdlib.h>

int main() {
    system("start /path/to/program.exe");
    return 0;
}

上記コードで、/path/to/program.exe は起動するプログラムのパスです。状況に合わせてパスを変更できます。start は Windows システムのコマンドで、プログラムの起動に使われます。

Unixライクシステム(LinuxやMacOSなど)上でプログラムを実行するには、execv、execvpなどexec系列関数を使用します。以下にサンプルコードを示します。

#include <unistd.h>

int main() {
    char *args[] = {"/path/to/program", NULL};
    execv("/path/to/program", args);
    return 0;
}

上記コードの/path/to/programは、起動するプログラムのパスです。パスは状況に応じて変更できます。execv関数は、指定したプログラムで現在のプロセスを置き換えてプログラムを起動します。args配列には、プログラムを起動するときのコマンドライン引数が含まれ、最後の要素はNULLにする必要があります。

システムコマンドまたはexec系関数から他のプログラムを起動するとセキュリティリスクが発生する可能性があるので注意して使用し、起動するプログラムの出所が信頼できることを確認してください。

bannerAds