【发布时间】:2016-03-03 14:16:51
【问题描述】:
.cpp 文件从 .txt 文件中读取,完美地编译、运行和输出。我希望将输出保存到 .txt 文件中,因此我从命令提示符访问该程序。
我正在使用 %PATH%Program.exe>%PATH%P4RESULTS.TXT
它运行程序,但 P4RESULTS.TXT 总是显示“无法读取文件。程序终止。”我没有移动或重命名该文件 - 它与 .cpp 一起存在。我检查了文件扩展名,看看我是否对 inFile (.txt.txt) 进行了双重命名,但事实并非如此。
有人见过这样的吗?我有什么明显的遗漏吗?我的输入文件打开方法如下。只是困惑为什么它在 VS2013 中查看和读取文件而不是从 .exe 中查看和读取文件。谢谢。
#include <iostream>
#include <iomanip>
#include <fstream>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define TABLESIZE 100
#define KEYSIZE 4
#define EMPTYKEY "----"
#define DATAFILE "P4DATA.txt"
using namespace std;
int main(void)
{
ifstream *inFile;
InitTable(T, TABLESIZE);
inFile = new ifstream();
inFile->open(DATAFILE, ifstream::in);
if (!inFile->is_open())
{
cout << "Unable to open data file. Program terminating.\n";
return 0;
}//end inFile check
}
【问题讨论】:
-
P4DATA.txt是否在您运行 exe 的命令提示符的当前工作目录中? -
%PATH%Program.exe>%PATH%P4RESULTS.TXT我希望你在里面放了一些路径,而不是真正使用%PATH% -
当您执行该程序时,该程序期望
P4DATA.txt位于当前工作目录中。在您运行exe之前和之后,dir是否在目录中同时显示exe和txt,包括P4RESULTS.TXT? -
是的,我在其中放置了一条真实路径,而不是 %PATH%。 P4DATA.txt .... 这是一个好问题。命令提示符显示为 C:\Users\Name - 我所有的文件都在 C:\Users\Name\Documents....等中,是吗?
-
文件夹有.exe文件。 P4DATA.txt 位于包含 .cpp 文件的文件夹中。当我运行提示时,它会创建 P4RESULTS.txt。 P4DATA.txt 仍然存在。我尝试将 P4DATA.txt 放在带有 .exe 文件的文件夹中,得到了相同的结果。
标签: c++ file-io command-prompt iostream