24小时热门版块排行榜    

查看: 579  |  回复: 9
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 fran_lin 的 10 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

fran_lin

金虫 (小有名气)

[交流] 【求助】请教高手(完结)

最近在忙于编程,一直被一个问题困惑!
在linux下,可执行文件a利用system命令调用其他目录下的可执行文件b,在b中由一个语句是创建新文件A.out,结果系统默认在可执行文件a所在的目录下创建了新文件A.out。请问如何在文件a中调整,使新文件A.out能在文件b所在的目录下创建。
前提:可执行文件b不可修改。
哪位大侠明白,请帮帮忙,万分感谢!!!!!!

后记:::::
首先要感谢magic7004 和tjyl 专家顾问的指导,自己的程序正在运行过程中,不过,从目前看来,两位专家顾问的建议和指导是正确的!在这里万分感谢!
我自己其实是个程序方面的菜鸟,应版主做个正确解决方案的完整描述的提议,也为了回报各位虫友,我把自己的问题和解决方案做一个完整的描述!

问题:在linux系统下,可执行文件a利用system命令调用其他目录下的可执行文件b,在b中有一个程序语句是创建新文件A.out,结果系统默认在可执行文件a所在的目录下创建了新文件A.out。请问如何在程序文件a中做调整,使新文件A.out能在文件b所在的目录下创建。
前提条件:可执行文件b不可修改。这里主要是文件b的修改工作量很大,所以想尽量从程序文件a上作修改!
说明:system命令是调用一个新的进程(子进程)来执行文件b,这个新的进程将执行文件a的进程(父进程)的环境变量继承过来,默认的当前目录也继承过来了,所以文件b的默认目录就是文件a的默认目录,所以也就出现了我这样的问题!


解决方案:有个chdir(“目录”)函数,括号里面的目录就是填写可执行文件b的目录,将这条语句放在system()命令之前,这样子进程继承的就是文件b的目录,默认的生成文件也就是在自己的目录下生成,然后再system命令之后将目录改回来,借用一下专家顾问magic7004的话就是:
chdir(b的目录);
执行b;
chdir(a的目录);


自己的症结所在:我也曾在网上搜索这样的问题,但是由于自己是一个新手,自己的关键词用的不准确,再加上我的问题不是常见问题,所以没有找到正确答案,而且在百度,Google这样的搜索工具上,我的问题所搜索来的结果全被那些常见问题的答案替代了。

再次感谢magic7004 和tjyl 这两位专家顾问,也感谢所有热心的虫友!

[ Last edited by fran_lin on 2010-3-12 at 08:55 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fran_lin

金虫 (小有名气)

jjdg:运行成功后给个完整方案,方便其他虫友吧!谢谢 2010-03-10 16:52
引用回帖:
Originally posted by magic7004 at 2010-03-03 10:11:33:
linux不熟,不过开起来是因为a的Current Directory(或者叫当前目录,Windows下是这样叫的,不知道Linux下是不是也叫这个名字,就是程序的默认工作目录)是a自己所在的目录,然后a运行b的时候,b继承了a的Current ...

谢谢你的回答,正在尝试,希望它会成功
10楼2010-03-10 16:50:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

yalefield

金虫 (文坛精英)

老汉一枚

这是想偷偷地用B程序啊!
2楼2010-03-01 15:01:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yaohoo

新虫 (初入文坛)

★
jjdg(金币+1):欢迎新虫 2010-03-01 20:11
可执行程序b 是否可转以加参数?如果不能加那就麻烦了
3楼2010-03-01 16:20:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)

★
jjdg(金币+1):感谢提供 2010-03-01 20:12
在b所在的目录执行a试试看
4楼2010-03-01 18:54:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[基金申请] 申请科研项目纯靠实力能成功吗? 200+5 David1982 2026-10-13 8/400 2026-10-14 21:38 by lhw_GPA4.0
[硕博家园] 中科院海洋所招收海洋材料相关领域博士研究生及研究助理 +3 sujiner 2026-10-08 4/200 2026-10-14 20:40 by qicaiyun
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +6 13108017953 2026-10-08 6/300 2026-10-12 20:07 by w3w3y3
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见