wxFFile реализовывает буферизованный файл Ввода/Вывода. Этот небольшой класс разработан таким образом, чтобы минимизировать издержки его использнования - в самом же деле, никаких издержек нет, но использование его автоматически повлечет за собой проверку на ошибки и сгладит все различия между платформами и компиляторами. Внутри него заключен FILE * указатель, используемый стандартной бибилиотекой Ввода/Вывода языка Си(также известной как stdio).
wxFile::wxFile wxFile()
Конструктор по умолчанию
wxFFile(const char* filename, const char* mode = "r")
Открывает файл в указанном режиме. Так как операция ничего не возвращает, то узнать успешным ли было ее выполнение можно с помощью вызова IsOpened.
mode - Режим, в котором следует открыть файл, используя стандартные строки из Си. Укажите флаг "b", если вы работаете с бинарным файлом под Windows, или же результат может быть непредсказуемым, что обусловлено автоматическим конвертированием в текстовый файл.
wxFFile(FILE* fp)
Открывает файл с заданным указателем на файл, который уже открыт.
fp - существующий файловый дескриптор, такой как stderr.
wxFile::~wxFile ~wxFile()
Деструктор закроет файл.
wxFFile::Attach void Attach(FILE* fp)
Закрепляет за объектом wxFFile существующий указатель.
Дескриптор должен быть уже открыт, он будет закрыт объектом wxFFile.
wxFFile::Close bool Close()
Закрывает файл и возвращает по успешном завершении истину.
wxFFile::Detach void Detach()
Отделяет указатель от объекта wxFFile - вызывающий ответственен за закрытие файла, если этот дескриптор открыт. IsOpened() вернет false после вызова Detach()
wxFFile::fp FILE * fp() const
Возвращает указатель файла, ассоциирующийся с ним.
wxFFile::Eof bool Eof() const
Возвращает true, если при попытке чтения был достигнут конец файла.
Следует помнить, что поведение дескриптора файла основано на классе wxFile и отличается, так как wxFile::EoF возвращает истину как только будет прочитан последний байт файла.
Следует также помнить, что функция работает только с открытыми файлами, с закрытыми она работать не будет.
wxFFile::Error
Возвращает истину, если при работе с файлом имела место ошибка. Аналогична стандартной функции ferror().
wxFFile::Flush bool Flush()
Очищает файл и возвращает истину при успешном завершении.
wxFFile::GetKind wxFileKind GetKind() const
Возвращает тип файла. Возможные значения:
enum wxFileKind { wxFILE_KIND_UNKNOWN, wxFILE_KIND_DISK, // файл, поддерживающий поиск условных смещений wxFILE_KIND_TERMINAL, // a tty - любой неителлектуальных терминал, // с которого может быть осуществлен доступ к рабочей станции wxFILE_KIND_PIPE // a pipe - канал, служит для перенаправления //потока вывода одной программы на вход другой };
wxFFile::IsOpened bool IsOpened() const
Возвращает истину, если файл открыт. Большинство методов этого класса может быть приминено только к открытым файлам.
wxFFile::Length wxFileOffset Length() const
Возвращает длину файла.
wxFFile::Open bool Open(const char* filename, const char* mode = "r")
Открывает файл в указанном режиме, возвращает истину, если операция прошла успешно.
wxFFile::Read size_t Read(void* buffer, size_t count)
Считывает указанное число байт в буфер, возвращает фактическое число считанных байт.
wxFFile::ReadAll bool ReadAll(wxString * str, wxMBConv& conv = wxConvUTF8)
Считывает полностью содержимое файла в строку. По умолчанию кодировка UTF-8. Возвращает истину при успешном завершении, иначе ложь.
wxFFile::Seek bool Seek(wxFileOffset ofs, wxSeekMode mode = wxFromStart)
Установка головки чтения/записи в указанную позицию. ofs - смещение, mode - wxFromStart, wxFromEnd, wxFromCurrent.
wxFFile::SeekEnd bool SeekEnd(wxFileOffset ofs = 0)
Двигает файловый указатель на указанное число байт относительно конца файла. Возвращает истину по успешном завершении.
wxFFile::Tell wxFileOffset Tell() const
Возвращает текущее положение.
wxFFile::Write size_t Write(const void* buffer, size_t count)
Пишет в файл указанное число байт из буффера. Возвращает количество записанных байт.
wxFFile::Write bool Write(const wxString& s, wxMBConv& conv = wxConvUTF8)
Записывает содержимое строки в файл, возвращает иситну, если процедура была успешной.
Второй аргумент имеет значение лишь в Юникодных билдах wxWidgets, когда conv обычно переводит s в мультибайтовое представление.