我有这个代码,假设读取一个txt文件。
但由于某种原因,我总是得到*File not found
,这意味着fileIn.fail()
失败了......
#include <iostream>
#include <string.h>
#include <fstream>
#include <sstream>
#include <stdio.h>
using namespace std;
int main ()
{
string fileName;
ifstream fileIn;
bool x;
cout << "enter file name \n";
cin >> fileName;
fileIn.open(fileName);
if(fileIn.fail())
{
cerr << "* File not found";
return true;
}
该文件与我的main.cpp文件位于同一文件夹中,名为input.txt。我试图将fileName设置为硬编码,但这也无效。 我的代码出了什么问题?
这是项目:
答案 0 :(得分:1)
这是一份清单:
如果对这些问题的回答是否定的,那么这就是问题所在,而不仅仅是“找不到文件”错误。
- 编辑 -
@VladIoffe我在那里看到的可执行文件是qustion2
,你必须给出的相对路径是../input.txt
而不是input.txt
答案 1 :(得分:0)
您应该使用fileName的绝对路径。
答案 2 :(得分:0)
绝对路径永远有效。但我讨厌完整的路径我更喜欢相对路径,原因很简单:代码更便携。 如果在可执行文件的相同路径中使用input.txt运行程序,它将起作用。但是当您使用IDE时,您必须在IDE设置中设置当前目录。