在C/c++程序源代码中指定打开某个文件

比如我在D盘根目录下有个kill.cmd文件,我如何在C文件源码中实现打开这个文件,就是说在我运行由该文件编译连接成的exe文件的时候,这个D盘根目录下的文件被执行。另外... 比如我在D盘根目录下有个kill.cmd文件,我如何在C文件源码中实现打开这个文件,就是说在我运行由该文件编译连接成的exe文件的时候,这个D盘根目录下的文件被执行。另外问一下如何定时执行,比如说我要在几点几分的时候运行它(EXE文件是打开的)
还有如果文件在桌面又该怎样打开
展开
 我来答
zhccsd
推荐于2016-10-01 · TA获得超过4042个赞
知道大有可为答主
回答量:1347
采纳率:66%
帮助的人:896万
展开全部
加上windows.h
然后调用system()函数,参数是一个字符串格式的dos命令
比如打开d盘下的kill.cmd就是system("d:\\kill.cmd");
总之每次遇到斜杠要打两个
这个方法的缺点是要调用dos或类dos的内核,如果是windows界面程序设计的话运行时会闪过一个黑框影响不好,如果本来就是黑框的控制台程序的话没影响
其他方法我是没发现
桌面的文件同理,桌面也是有一个路径的,不知道的话随便建一个文件夹,右键点属性,位置就是路径
追问
可是路径中的有些名称之间有空格,编译可以通过,但是运行后不是我想要的效果
还有就是我想在源代码中写入命令,然后在代码中调用cmd执行该怎么办
追答
如果中间有空格,或者路劲过长的情况下路径要加上双引号
比如d盘1 2文件夹下的1.txt:system(" \"d:\\1 2\\1.txt\" ");
你的原问题中的后面一个问题当时没看到,现在补充一下,你的程序的main函数中就可以是不断在获取当前时间,然后判断是不是你设定好的时间,如果是就执行。但是不要用while(1),cpu的一个核心会达到100%的,既然已经在获取时间了,不妨while的判断条件是当前时间等于上一次循环时间+1秒,也就是每秒执行一次,获取时间相关的呢应该知道吧,或者可以追问。
追问的第二个问题抱歉我不是看得很明白,能详细说说吗?最好举个例子
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式