展开全部
C语言中打开一个应用程序可以调用system(),也可以调用操作系统的API函数,比如Windows系统可以调用CreateProcess()、ShellExecuteEx()等函数来打开一个应用程序。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("在windows上打开记事本程序\n");
system("notepad.exe");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("在windows上打开记事本程序\n");
system("notepad.exe");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2008-09-10
展开全部
有两种情况:
第一种情况,打开需要的其它文件后,本程序等待,直到将所打开的文件关闭后本程序再继续运行:
用SYSTEM()函数,例如,要打开e:\a.exe就这样做:
#include <stdlib.h>
int main(void)
{
system("e:\\a.exe");
return 0;
}
第二种情况,本程序与打开的文件并发执行(并非严格意义上的并发执行情况,这了便于理解,权且用这个词语),打开其它文件后,本程序不等待,将继续执行后面的语句:
用execl()函数(非标准库函数,但是通常情况下,常用的操作系统都提供此函数),假设要打开e:\a.exe文件:
#include <process.h>
int main(void)
{
execl("e:\\a.exe","a.exe",NULL);
return 0;
}
第一种情况,打开需要的其它文件后,本程序等待,直到将所打开的文件关闭后本程序再继续运行:
用SYSTEM()函数,例如,要打开e:\a.exe就这样做:
#include <stdlib.h>
int main(void)
{
system("e:\\a.exe");
return 0;
}
第二种情况,本程序与打开的文件并发执行(并非严格意义上的并发执行情况,这了便于理解,权且用这个词语),打开其它文件后,本程序不等待,将继续执行后面的语句:
用execl()函数(非标准库函数,但是通常情况下,常用的操作系统都提供此函数),假设要打开e:\a.exe文件:
#include <process.h>
int main(void)
{
execl("e:\\a.exe","a.exe",NULL);
return 0;
}
参考资料: 注意!路径中的斜线一定要用双斜线代替!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
默认路径是源文件的路径。
如果指定别的路径,两种方法:
一是相对当前默认路径指定路径。
二是指定绝对路径。
譬如:
E:\C\c.c 这是源文件
E:\C\abc.exe
E:\D\abcd.exe
C:\A\aaa.exe
如果想执行abc.exe,那么可以不指定路径:
#include <stdlib.h>
int main()
{
char *cmd="abc.exe";
system(cmd);
return 0;
}
如果想执行abcd.exe,那么可如下指定路径:
include <stdlib.h>
int main()
{
char *cmd="..\\D\\abcd.exe";
//指定相对路径
//char *cmd="E:\\D\\abcd.exe";
//指定绝对路径
system(cmd);
return 0;
}
如果想执行aaa.exe,则必须指定绝对路径:
#include <stdlib.h>
int main()
{
char *cmd="C:\\A\\aaa.exe";
system(cmd);
return 0;
}
对于空格问题,可按如下方法解决
#include <stdlib.h>
int main()
{
char *cmd="E:\\AB\" \"CD\\xyz.exe";
//即执行E:\AB CD\xyz.exe
system(cmd);
return 0;
}
如果指定别的路径,两种方法:
一是相对当前默认路径指定路径。
二是指定绝对路径。
譬如:
E:\C\c.c 这是源文件
E:\C\abc.exe
E:\D\abcd.exe
C:\A\aaa.exe
如果想执行abc.exe,那么可以不指定路径:
#include <stdlib.h>
int main()
{
char *cmd="abc.exe";
system(cmd);
return 0;
}
如果想执行abcd.exe,那么可如下指定路径:
include <stdlib.h>
int main()
{
char *cmd="..\\D\\abcd.exe";
//指定相对路径
//char *cmd="E:\\D\\abcd.exe";
//指定绝对路径
system(cmd);
return 0;
}
如果想执行aaa.exe,则必须指定绝对路径:
#include <stdlib.h>
int main()
{
char *cmd="C:\\A\\aaa.exe";
system(cmd);
return 0;
}
对于空格问题,可按如下方法解决
#include <stdlib.h>
int main()
{
char *cmd="E:\\AB\" \"CD\\xyz.exe";
//即执行E:\AB CD\xyz.exe
system(cmd);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询