ここで明らかな何かが欠けています。DJGPP C コンパイラを使用しています。実行可能ファイルは正常に開くことができますが、デフォルト プログラムのファイルを開くことはできません。
#include <stdio.h>
int main(void) {
char sys_cmd[100] = "C:\\WINDOWS\\system32\\Calc.exe";
system(sys_cmd);
system("\"C:\\TextFile.txt\"");
system("\"www.bbc.co.uk\"");
getch();
return 0;
}
このコードを実行すると、電卓が起動します。電卓を閉じると、次のように報告されます。
Bad command of file name
Bad command of file name
したがって、他の 2 つのシステム コールに問題があります。システムコールに「START」を追加しようとしましたが、修正されません。Windows 7 Pro システムを検索したところ、START.EXE がありません。「cmd.exe」を追加するとcmdが起動するだけなので、引数が送信されていないかのようになります。
通常、cmd に「C:\TextFile.txt」と入力すると、内部で TextFile.txt が開かれた notepad.exe が開きます。
とにかく system() よりも安全なものを使用してこれを行うのが理想的ですが、DJGPP で ShellExecute の例を見たことがありません。