Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT | страница 88



>typedef struct _SYSTEMTIME {

> WORD wYear; // год

> WORD wMonth; // месяц

> WORD wDayOfWeek; // день недели

> WORD wDay; // календарная дата

> WORD wHour; // часы

> WORD wMinute; // минуты

> WORD wSecond; // секунды

> WORD wMilliseconds; // миллисекунды

>} SYSTEMTIME;

Если необходимо создать объект класса CTime, сразу записав в него текущие значения времени и даты, используйте конструктор, представленный ниже:

>CTime(const SYSTEMTIME& sysTime, int nDST = –1);

Параметр sysTime является указателем на структуру типа SYSTEMTIME. Необязательный параметр nDST управляет режимом отсчета даты и описан нами выше.

Вторая структура, в которой хранятся значения даты и времени, называется FILETIME. Она служит для хранения 64-битового числа, представляющего дату и время как количество 100 наносекундных интервалов времени, прошедших с первого января 1601 года.

>typedef struct _FILETIME {

> DWORD dwLowDateTime; // младшие 32 бита

> DWORD dwHighDateTime; // старшие 32 бита

>} FILETIME, *PFILETIME, *LPFILETIME;

Конструктор имеет следующий прототип:

>CTime(const FILETIME& fileTime, int nDST = –1);

Файловая система – класс CFile

Библиотека MFC включает класс CFile, предназначенный для обеспечения работы с файлами. Он позволяет упростить использование файлов, представляя файл как объект, который можно создать, читать, записывать и т. д. Класс CFile наследуется непосредственно от класса CObject:

CFile←CObject

Чтобы получить доступ к файлу, сначала надо создать объект класса CFile. Конструктор класса CFile позволяет сразу после создания такого объекта открыть файл. Но мы воспользуется более общим способом и откроем файл позже, вызвав метод Open.

Открытие и создание файлов

После создания объекта класса CFile можно открыть файл, вызвав метод Open. Методу Open надо указать путь к открываемому файлу и режим его использования. Прототип метода Open имеет следующий вид:

>virtual BOOL Open(LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL);

В качестве параметра lpszFileName надо указать имя открываемого файла. Можно указывать только имя файла или полное имя файла, включающее полный путь к нему.

Второй параметр nOpenFlags определяет действие, выполняемое методом Open с файлом, а также атрибуты файла. Ниже представлен список возможных значений параметра nOpenFlags:

Возможные значения nOpenFlagsОписание
CFile::modeCreateСоздается новый файл. Если указанный файл существует, то его содержимое стирается и длина устанавливается равной нулю