如果这很重要,我正在使用旧的gcc编译器(在C ++ 11之前)。
我有一个具有以下代码的函数:
ifstream in(file);
string line;
while (std::getline(in, line))
{
}
我只想确保:
我不需要检查文件是否确实存在,对吗? getline
知道要处理吗?
由于RAII,最终不需要关闭流,对吗?
答案 0 :(得分:3)
您可以在C ++参考网站here中看到示例。
其中有不同版本的说明,例如C ++ 98和C ++ 11。
至于答案:
getline()
将失败,并且如果事先无法打开文件,您的代码也不会进入while
循环。
正如您所说,由于RAII,您不需要关闭文件。
答案 1 :(得分:-1)
如果文件不存在,显然getline将失败,并且您将不会进入while循环。
您不需要关闭流。