CPP从文件读取但EXE不读取

时间:2015-11-30 01:32:44

标签: c++ file-io command-prompt iostream

.cpp文件从.txt文件读取,完美地编译,运行和输出。我希望输出保存到.txt文件,所以我从命令提示符访问该程序。

我正在使用%PATH%Program.exe>%PATH%P4RESULTS.TXT

它运行程序,但是P4RESULTS.TXT总是显示“无法读取文件。程序终止。”我没有移动或重命名该文件 - 它与.cpp一起使用。我检查了文件扩展名,看看我是否将命名为inFile(.txt.txt),但事实并非如此。

有没有人见过这样的东西?有什么明显的东西我不见了吗?我的输入文件打开方法如下所示。只是感到困惑,为什么它在VS2013中看到并读取文件,而不是来自.exe。感谢。

Project->Properties->PHP Development-> Select PHP 5.4.x

1 个答案:

答案 0 :(得分:1)

%PATH%设置为; - 分隔目录的序列,用于在可执行文件不存在于当前目录中时查找可执行文件。尝试使用mypath代替path并将mypath设置为可执行文件的目录名

set "mypath=c:\wherever\whatever"
pushd "%mypath%"
"%mypath%\yourprogram.exe">"%mypath%\P4RESULTS.TXT"
popd

引号克服了文件/目录名中空格的问题。 set命令中的引号可确保该行上的尾随空格不包含在分配给mydir的值中。

pushd / popd仪式会暂时将当前目录更改为mypath。实际上,在这种情况下,mypath行中不需要引用.exe

OR

set "mypath=c:\wherever\whatever"
pushd "path to directory containing p4data.txt"
"%mypath%\yourprogram.exe">"%mypath%\P4RESULTS.TXT"
popd

也可以解决问题