use wxChar, not char, for the second argument of Open() and also use wxFopen() in the implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -42,13 +42,13 @@ public:
|
|||||||
// def ctor
|
// def ctor
|
||||||
wxFFile() { m_fp = NULL; }
|
wxFFile() { m_fp = NULL; }
|
||||||
// open specified file (may fail, use IsOpened())
|
// open specified file (may fail, use IsOpened())
|
||||||
wxFFile(const wxChar *filename, const char *mode = "r");
|
wxFFile(const wxChar *filename, const wxChar *mode = _T("r"));
|
||||||
// attach to (already opened) file
|
// attach to (already opened) file
|
||||||
wxFFile(FILE *fp) { m_fp = fp; }
|
wxFFile(FILE *fp) { m_fp = fp; }
|
||||||
|
|
||||||
// open/close
|
// open/close
|
||||||
// open a file (existing or not - the mode controls what happens)
|
// open a file (existing or not - the mode controls what happens)
|
||||||
bool Open(const wxChar *filename, const char *mode = "r");
|
bool Open(const wxChar *filename, const wxChar *mode = _T("r"));
|
||||||
// closes the opened file (this is a NOP if not opened)
|
// closes the opened file (this is a NOP if not opened)
|
||||||
bool Close();
|
bool Close();
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: ffile.cpp
|
// Name: ffile.cpp
|
||||||
// Purpose: wxFFile - encapsulates "FILE *" IO stream
|
// Purpose: wxFFile encapsulates "FILE *" IO stream
|
||||||
// Author: Vadim Zeitlin
|
// Author: Vadim Zeitlin
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 14.07.99
|
// Created: 14.07.99
|
||||||
@@ -45,32 +45,18 @@
|
|||||||
// opening the file
|
// opening the file
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxFFile::wxFFile(const wxChar *filename, const char *mode)
|
wxFFile::wxFFile(const wxChar *filename, const wxChar *mode)
|
||||||
{
|
{
|
||||||
Detach();
|
Detach();
|
||||||
|
|
||||||
(void)Open(filename, mode);
|
(void)Open(filename, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxFFile::Open(const wxChar *filename, const char *mode)
|
bool wxFFile::Open(const wxChar *filename, const wxChar *mode)
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_fp, wxT("should close or detach the old file first") );
|
wxASSERT_MSG( !m_fp, wxT("should close or detach the old file first") );
|
||||||
|
|
||||||
#if wxUSE_UNICODE
|
m_fp = wxFopen(filename, mode);
|
||||||
char *tmp_fname;
|
|
||||||
size_t fname_len;
|
|
||||||
|
|
||||||
fname_len = wxStrlen(filename)+1;
|
|
||||||
tmp_fname = new char[fname_len];
|
|
||||||
wxWX2MB(tmp_fname, filename, fname_len);
|
|
||||||
|
|
||||||
m_fp = fopen(tmp_fname, mode);
|
|
||||||
|
|
||||||
delete tmp_fname;
|
|
||||||
#else
|
|
||||||
m_fp = fopen(filename, mode);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
if ( !m_fp )
|
if ( !m_fp )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user