diff --git a/include/wx/ffile.h b/include/wx/ffile.h index 4695dc989b..24d0437fba 100644 --- a/include/wx/ffile.h +++ b/include/wx/ffile.h @@ -65,10 +65,11 @@ public: // returns the number of bytes written size_t Write(const void *pBuf, size_t nCount); // returns true on success - bool Write(const wxString& s) + bool Write(const wxString& s, wxMBConv& conv = wxConvLibc) { - size_t size = s.Len()*sizeof(wxChar); - return Write(s.c_str(), size) == size; + wxWX2MBbuf buf = s.mb_str(); + size_t size = strlen(buf); + return Write((const char *) buf, size) == size; } // flush data not yet written bool Flush(); diff --git a/include/wx/file.h b/include/wx/file.h index 89718b6120..d52ad5f423 100644 --- a/include/wx/file.h +++ b/include/wx/file.h @@ -99,10 +99,11 @@ public: // returns the number of bytes written size_t Write(const void *pBuf, size_t nCount); // returns true on success - bool Write(const wxString& s) + bool Write(const wxString& s, wxMBConv& conv = wxConvLibc) { - size_t size = s.Len()*sizeof(wxChar); - return Write(s.c_str(), size) == size; + const wxWX2MBbuf buf = s.mb_str(conv); + size_t size = strlen(buf); + return Write((const char *) buf, size) == size; } // flush data not yet written bool Flush();