На этом шаге мы рассмотрим использование функции Close().
Для закрытия открытого дискового файла в CFile служит функция-член Close(). В приведенном ниже коде показано, как использовать Close():
BOOL MyFileFunction() { CFile MyFile; if(!MyFile.Open("MyFile.old", CFile::modeRead)) { AfxMessageBox("Cannot open MyFile.old"); return FALSE; } // Что-то делаем с файлом... MyFile.Close(); return TRUE; }
В этом примере вызов MyFile.Close() необязателен. Деструктор CFile, вызываемый при выходе объекта из области видимости, самостоятельно вызовет функцию Close(), если обнаружит, что Вы этого не сделали. Тем не менее хороший стиль программирования - всегда закрывать вызов CFile::Open() обращением к CFile::Close().
Вы можете использовать функцию Close() для отмены связи Вашего объекта CFile с физическим файлом, чтобы ассоциировать его с другим файлом. Например, в следующем фрагменте кода в папке текущего приложения одним и тем же объектом класса CFile создаются три пустых файла - file1.txt, file2.txt и file3.txt:
CString strFiles[3] = {"file1.txt", "file2.txt", "file3.txt"}; CFile file; for (int i = 0; i < 3; i++) { file.Open(strFiles[i], CFile::modeCreate); file.Close(); }
На следующем шаге мы рассмотрим чтение и запись файла.