Метод close
Метод close класса ifstream закрывает файл, который был ранее открыт с помощью метода open или конструктора. После вызова метода close поток больше не связан с файлом, и для дальнейшего чтения потребуется заново открыть файл. Метод не принимает параметров и не возвращает значения.
Синтаксис
ifstream_object.close()
Пример
Давайте откроем файл test.txt, прочитаем из него строку и закроем файл с помощью метода close:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream file("test.txt");
string line;
if (file.is_open()) {
getline(file, line);
cout << line << endl;
file.close();
}
return 0;
}
Результат выполнения кода:
"abcde"
Пример
Давайте проверим, что после закрытия файла поток больше не открыт, с помощью метода is_open:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream file("test.txt");
if (file.is_open()) {
cout << "File is open" << endl;
file.close();
}
if (!file.is_open()) {
cout << "File is closed" << endl;
}
return 0;
}
Результат выполнения кода:
"File is open"
"File is closed"