【发布时间】:2012-12-01 23:19:54
【问题描述】:
我正在处理一个要求必须从文件中获取输入然后进行处理的项目。我们获得了用于打开文件并检查以确保它已打开的代码框架,但我在打开文件时遇到问题。
我的代码
int main()
{
readFile();
}
void readFile()
{
ifstream fin;
string fileName;
int x;
cout << "Enter the file you wish to read from: ";
cin >> fileName;
fin.open(fileName.c_str(), ios::in);
if(!fin.is_open())
{
cerr << "Unable to open file " << fileName << endl;
exit(10);
}
}
我的控制台: http://i.stack.imgur.com/2derI.jpg
我们基本上得到了所有这些代码,所以我完全不知道为什么这不起作用。这只是我更大项目的一部分,但在我开始工作之前,我什至无法尝试这部分。任何帮助将不胜感激。
【问题讨论】:
-
@PeteBecker:确实如此,看看控制台后面的窗口。
-
1) 将您的
cerr行替换为perror(fileName.c_str());。 2)你的进程的当前工作目录不是你想象的那样。 -
是的。如果您查看我链接的照片,它也会显示我的项目文件夹。 12.txt 文件与程序的 .exe 位于同一目录中。
-
@Borgleader - 是的,错过了。
-
尝试打开
12.txt.txt(可能你的目录设置没有显示扩展名,而.txt是文件名的一部分)