具有Inconsistant Logic的.CPP文件和.EXE文件

时间:2014-03-04 05:38:13

标签: c++

在我构建代码之前,我从未遇到过这个问题,主要错误检查if语句是否在控制台中正确运行。

ifstream inputfile;
inputfile.open("arrayNumbers.txt");

if(inputfile) //<----- This is working correctly in the CPP, but not in the EXE
{

不幸的是,当我去运行可执行文件时,if语句将踢出“File not opened”else部分

else
{
    cout << "File did not open" << endl; 
            //^^^^In the exe, the program skips the rest of the code and kicks here
}

任何人都知道为什么会发生这种情况?

编译器是Visual Studio 2010

我也在调试和发布模式下运行它

2 个答案:

答案 0 :(得分:1)

可能与文件arrayNumbers.txt的存储位置有关,将文件移动到可执行文件的同一文件夹中,它应该可以正常工作。

答案 1 :(得分:1)

当您在Visual Studio中运行时,文件正在从Solution文件夹运行,当您双击从Project-&gt; Debug-&gt;运行的.exe时。文件夹大部分时间

您可以在项目中添加Post Build Event,以自动将文件复制到输出目录。

copy $(SolutionDir)/arrayNumbers.txt $(OutDir)