实现在c 中怎样程序执行时路径,然后run它下面的某个exe程序。

kirao 2006-01-09 05:14:20
如 run.c

当输入以c:\d:\exe\run application 时
程序会找到当前path然后执行application.



...全文
114 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kirao 2006-01-12
  • 打赏
  • 举报
回复
我用api得到当前程序运行path,, 然后再调用的system搞定

GetModuleFileName(NULL,currentpath,1024);
l_len=strlen(currentpath);
for(int j =l_len ;j > 0; j-- )
{
if (currentpath[j]=='\\')
{
currentpath[j+1]=0;
break;
}
}
gogowhy 2006-01-12
  • 打赏
  • 举报
回复
m
herryhuang 2006-01-09
  • 打赏
  • 举报
回复
路径问题:
getcwd可以得到当前工作路径,chdir改变当前工作路径

运行新程序,POSIX方法(windows不支持):
fork可以复制进程,子进程再exec执行新的程序。

ANSI方法(如果编译器声明“符合ANSI C语言标准”那就应该支持)
或者调用system运行新的程序。

windows方法:
调用ShellExecute

上述函数具体用法参见msdn,fork的用法在操作系统手册(man page)中查找。
quickreport 2006-01-09
  • 打赏
  • 举报
回复
方法1:设置环境变量,比较可行;
方法2:研究一下main函数的参数。
jixingzhong 2006-01-09
  • 打赏
  • 举报
回复
或者可以这样 :

#include<stdio.h>
#include<stdlib.h>

void main()
{
char s[100];
gets(s);
system(s);
}

s 就是输入的程序的 绝对路径 ...
jixingzhong 2006-01-09
  • 打赏
  • 举报
回复
可以使用 exec 函数族 !!

或者 spawn 函数族 ...
ma100 2006-01-09
  • 打赏
  • 举报
回复
dos/win:autoexec.bat

PATH=c:\tc;d:\exe\run;
屋顶上的老猫 2006-01-09
  • 打赏
  • 举报
回复
设置系统的环境就可以了!

DOS下在autoexec.bat里加入你要设置的路径
如:
PATH c:\tc;d:\exe\run;

WIN下在电脑属性里设置“环境变量”或通过set path命令来进行设置
kirao 2006-01-09
  • 打赏
  • 举报
回复
我要的是得到当前程序path.
lostlander 2006-01-09
  • 打赏
  • 举报
回复
#include <windows.h>
then use: ShellExecute(...)==>msdn

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧