是否可以使用其他程序打開程序?例如: 我想在C中創建一個命令行應用程序,它將提示用戶輸入程序的名稱(可以說是Microsoft Word.app),並且該程序將啓動。我會做這樣的事情:使用popen()在命令行中打開一個程序?
#include <stdio.h>
#include <time.h>
int main (int argc, const char * argv[]) {
char programName[1000];
printf("Type in the name of the program you would like to open: ");
scanf("%s", programName);
popen(programName);
}
但是,popen()問我另一個字符。我將如何去使用popen()來打開程序?
編輯:下面的代碼工程!
#include <stdio.h>
#include <time.h>
int main (int argc, const char * argv[]) {
char programName[1000];
char app[100] = ".app";
char openApp[100] = "open /Applications/";
printf("Type in the name of the program you would like to open: ");
scanf("%s", programName);
strcat(openApp, programName);
strcat(openApp, app);
system(openApp);
}
雖然你的下面的代碼工作,它已經從在運行崩潰的可能性在strcat中的緩衝區中,您正在將一個可能爲1000個字符的數組添加到最多隻能容納100個字符的目標中。 char openApp [100];至少必須是char openApp [100 + 1000 + 20]; – 2014-02-20 15:11:26