我有一个输入文件" abc.txt"其中包含由','分隔的字符。在每一行。 在尝试使用ifstream逐行读取文件时,它无法读取文件而我在控制台上获得输出"无法打开输入文件。"。 我究竟做错了什么? 代码: -
void EnterFiles(string filename, int index)
{
string line;
vector<string> f1,f2;
std::ifstream f;
//prepare f to throw if failbit gets set
std::ios_base::iostate exceptionMask = f.exceptions() | std::ios::failbit;
f.exceptions(exceptionMask);
try
{
f.open(filename);
}
catch (std::ios_base::failure& e)
{
std::cerr << e.what() << '\n';
}
if (!f)
{
cout << "Cannot open input file.\n";
}
while (getline(f,line) )
{
if (index == 0)
{
f1.push_back(line);
cout << line << endl;
}
else
{
f2.push_back(line);
cout << line << endl;
}
}
f.close();
}
答案 0 :(得分:0)
如果每次都满足条件,那么跳过其他部分。
提供完整或合格的文件路径(有时会产生问题!), 另外,包含文件(如果不是!!)。
以下示例类似于您所引用的代码, (我检查它就像Linux中的魅力一样)
http://cpp-tutorial.cpp4u.com/STL_ifstream.html
希望,这个答案可能有所帮助。