C++中system()调用一个程序.exe文件
我用C++编写了一个简单的程序,程序要实现的功能是:最开始读入一个a文件,将这个a文件复制到一个文件夹b中,然后调用该文件夹中的一个.exe文件,【这个.exe文件会读取...
我用C++编写了一个简单的程序,程序要实现的功能是:
最开始读入一个a文件,将这个a文件复制到一个文件夹b中,然后调用该文件夹中的一个.exe文件,【这个.exe文件会读取这个a文件,然后生成一个文件,假设为c文件】(c文件应该在b文件夹中生成)。
现在有个问题是,.exe可以调用,但是生成的c文件没有在b文件夹中,而是在最开始的a文件的目录下,请问这个怎么回事呢?
如果我将a复制到b中,然后直接运行.exe文件,满足要求(即生成的c文件是在b中的)。请问这个是什么原因呢? 展开
最开始读入一个a文件,将这个a文件复制到一个文件夹b中,然后调用该文件夹中的一个.exe文件,【这个.exe文件会读取这个a文件,然后生成一个文件,假设为c文件】(c文件应该在b文件夹中生成)。
现在有个问题是,.exe可以调用,但是生成的c文件没有在b文件夹中,而是在最开始的a文件的目录下,请问这个怎么回事呢?
如果我将a复制到b中,然后直接运行.exe文件,满足要求(即生成的c文件是在b中的)。请问这个是什么原因呢? 展开
1个回答
展开全部
程序有执行目录的概念。
当前工作目录 (Current Working Directory)
一般来说,每个进程都有一个与之相关联的分级文件系统(hierarchical file system)下的目录,称之为该进程的当前工作目录。如果程序刚进入main入口处的时候,当前工作目录其实就是程序启动的目录,但是当前工作目录是可以通过程序进行设置或者随着OpenFileDialog、SaveFileDialog等对象所确定的目录而改变。所以使用的时候要小心。
应用程序所在的目录
该进程从中启动的目录,即程序文件自身所在的目录。
所以,当前工作目录和程序所在的目录可以不同。
当前工作目录 (Current Working Directory)
一般来说,每个进程都有一个与之相关联的分级文件系统(hierarchical file system)下的目录,称之为该进程的当前工作目录。如果程序刚进入main入口处的时候,当前工作目录其实就是程序启动的目录,但是当前工作目录是可以通过程序进行设置或者随着OpenFileDialog、SaveFileDialog等对象所确定的目录而改变。所以使用的时候要小心。
应用程序所在的目录
该进程从中启动的目录,即程序文件自身所在的目录。
所以,当前工作目录和程序所在的目录可以不同。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询