Да, вам нужно закрыть файл после его использования.Всегда очищайте все, что вы делаете в программировании, особенно файловые операции.
Перед тем, как приступить к работе с файлом, вам следует убедиться, что файл действительно успешно открылся.Когда вы открываете файл, как у вас (используя конструктор), вы ничего не возвращаете, если операция открытия файла не удалась.
Вы можете проверить метод ifstream 'good ()', чтобы увидеть, является ли потокуспешно открыт, или 'fail ()', чтобы увидеть, если это не так.
например,
ifstream ifs("data.txt");
if( ifs.fail() )
{
std::cerr << "There was an error opening the file" << std::endl;
return -1; // use -1, or some sort of non-zero number representing your error code to the command line
}
// Do your reading / writing
ifs.close();
Я рекомендую прочитать эту информацию о некоторых доступных функцияхвам при использовании ifstream.