#include "wx/wfstream.h"
#include "wx/datstrm.h"
-
+#include "wx/txtstrm.h"
// Create a new application object
IMPLEMENT_APP (MyApp)
wxTextCtrl& textCtrl = * GetTextCtrl();
textCtrl.Clear();
- textCtrl << "\nTest fstream vs. wxFileStream:\n\n";
+ textCtrl << _T("\nTest fstream vs. wxFileStream:\n\n");
textCtrl.WriteText( "Writing to ofstream and wxFileOutputStream:\n" );
ofstream std_file_output( "test_std.dat" );
wxFileOutputStream file_output( "test_wx.dat" );
+ wxBufferedOutputStream buf_output( file_output );
+ wxTextOutputStream text_output( buf_output );
wxString tmp;
signed int si = 0xFFFFFFFF;
- tmp.Printf( "Signed int: %d\n", si );
+ tmp.Printf( _T("Signed int: %d\n"), si );
textCtrl.WriteText( tmp );
- file_output << si << "\n";
+ text_output << si << "\n";
std_file_output << si << "\n";
unsigned int ui = 0xFFFFFFFF;
- tmp.Printf( "Unsigned int: %u\n", ui );
+ tmp.Printf( _T("Unsigned int: %u\n"), ui );
textCtrl.WriteText( tmp );
- file_output << ui << "\n";
+ text_output << ui << "\n";
std_file_output << ui << "\n";
double d = 2.01234567890123456789;
- tmp.Printf( "Double: %f\n", d );
+ tmp.Printf( _T("Double: %f\n"), d );
textCtrl.WriteText( tmp );
- file_output << d << "\n";
+ text_output << d << "\n";
std_file_output << d << "\n";
float f = 0.00001;
- tmp.Printf( "Float: %f\n", f );
+ tmp.Printf( _T("Float: %f\n"), f );
textCtrl.WriteText( tmp );
- file_output << f << "\n";
+ text_output << f << "\n";
std_file_output << f << "\n";
- wxString str( "Hello!" );
- tmp.Printf( "String: %s\n", str.c_str() );
+ wxString str( _T("Hello!") );
+ tmp.Printf( _T("String: %s\n"), str.c_str() );
textCtrl.WriteText( tmp );
- file_output << str << "\n";
+ text_output << str << "\n";
std_file_output << str.c_str() << "\n";
textCtrl.WriteText( "\nReading from ifstream:\n" );
ifstream std_file_input( "test_std.dat" );
std_file_input >> si;
- tmp.Printf( "Signed int: %d\n", si );
+ tmp.Printf( _T("Signed int: %d\n"), si );
textCtrl.WriteText( tmp );
std_file_input >> ui;
- tmp.Printf( "Unsigned int: %u\n", ui );
+ tmp.Printf( _T("Unsigned int: %u\n"), ui );
textCtrl.WriteText( tmp );
std_file_input >> d;
- tmp.Printf( "Double: %f\n", d );
+ tmp.Printf( _T("Double: %f\n"), d );
textCtrl.WriteText( tmp );
std_file_input >> f;
- tmp.Printf( "Float: %f\n", f );
+ tmp.Printf( _T("Float: %f\n"), f );
textCtrl.WriteText( tmp );
std_file_input >> str;
- tmp.Printf( "String: %s\n", str.c_str() );
+ tmp.Printf( _T("String: %s\n"), str.c_str() );
textCtrl.WriteText( tmp );
textCtrl.WriteText( "\nReading from wxFileInputStream:\n" );
- file_output.OutputStreamBuffer()->FlushBuffer();
+ buf_output.Sync();
wxFileInputStream file_input( "test_wx.dat" );
+ wxBufferedInputStream buf_input( file_input );
+ wxTextInputStream text_input( buf_input );
- file_input >> si;
- tmp.Printf( "Signed int: %d\n", si );
+ text_input >> si;
+ tmp.Printf( _T("Signed int: %d\n"), si );
textCtrl.WriteText( tmp );
- file_input >> ui;
- tmp.Printf( "Unsigned int: %u\n", ui );
+ text_input >> ui;
+ tmp.Printf( _T("Unsigned int: %u\n"), ui );
textCtrl.WriteText( tmp );
- file_input >> d;
- tmp.Printf( "Double: %f\n", d );
+ text_input >> d;
+ tmp.Printf( _T("Double: %f\n"), d );
textCtrl.WriteText( tmp );
- file_input >> f;
- tmp.Printf( "Float: %f\n", f );
+ text_input >> f;
+ tmp.Printf( _T("Float: %f\n"), f );
textCtrl.WriteText( tmp );
- file_input >> str;
- tmp.Printf( "String: %s\n", str.c_str() );
+ text_input >> str;
+ tmp.Printf( _T("String: %s\n"), str.c_str() );
textCtrl.WriteText( tmp );
textCtrl.WriteText( "Writing to wxDataOutputStream:\n" );
file_output.SeekO( 0 );
- wxDataOutputStream data_output( file_output );
+ wxDataOutputStream data_output( buf_output );
- wxInt32 i32 = 0xFFFFFFFF;
- tmp.Printf( "Signed int32: %d\n", i32 );
+ wxInt16 i16 = 0xFFFF;
+ tmp.Printf( _T("Signed int16: %d\n"), (int)i16 );
textCtrl.WriteText( tmp );
- data_output.Write32( i32 );
+ data_output.Write16( i16 );
- wxUint32 ui32 = 0xFFFFFFFF;
- tmp.Printf( "Unsigned int32: %u\n", ui32 );
+ wxUint16 ui16 = 0xFFFF;
+ tmp.Printf( _T("Unsigned int16: %u\n"), (unsigned int) ui16 );
textCtrl.WriteText( tmp );
- data_output.Write32( ui32 );
+ data_output.Write16( ui16 );
d = 2.01234567890123456789;
- tmp.Printf( "Double: %f\n", d );
+ tmp.Printf( _T("Double: %f\n"), d );
textCtrl.WriteText( tmp );
data_output.WriteDouble( d );
str = "Hello!";
- tmp.Printf( "String: %s\n", str.c_str() );
+ tmp.Printf( _T("String: %s\n"), str.c_str() );
textCtrl.WriteText( tmp );
data_output.WriteString( str );
- file_output.OutputStreamBuffer()->FlushBuffer();
+ buf_output.Sync();
textCtrl.WriteText( "\nReading from wxDataInputStream:\n" );
file_input.SeekI( 0 );
- wxDataInputStream data_input( file_input );
+ wxDataInputStream data_input( buf_input );
- i32 = data_input.Read32();
- tmp.Printf( "Signed int32: %d\n", i32 );
+ i16 = data_input.Read16();
+ tmp.Printf( _T("Signed int16: %d\n"), (int)i16 );
textCtrl.WriteText( tmp );
- ui32 = data_input.Read32();
- tmp.Printf( "Unsigned int32: %d\n", ui32 );
+ ui16 = data_input.Read16();
+ tmp.Printf( _T("Unsigned int16: %u\n"), (unsigned int) ui16 );
textCtrl.WriteText( tmp );
d = data_input.ReadDouble();
- tmp.Printf( "Double: %f\n", d );
+ tmp.Printf( _T("Double: %f\n"), d );
textCtrl.WriteText( tmp );
str = data_input.ReadString();
- tmp.Printf( "String: %s\n", str.c_str() );
+ tmp.Printf( _T("String: %s\n"), str.c_str() );
textCtrl.WriteText( tmp );
}