1 % ----------------------------------------------------------------------------
3 % ----------------------------------------------------------------------------
4 \section{\class{wxDataInputStream
}}\label{wxdatainputstream
}
6 This class provides functions that read binary data types in a
7 portable way. Data can be read in either big-endian or litte-endian
8 format, little-endian being the default on all architectures.
10 If you want to read data from text files (or streams) use
11 \helpref{wxTextInputStream
}{wxtextinputstream
} instead.
13 The >> operator is overloaded and you can use this class like a standard C++ iostream.
14 Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
15 and on a typical
32-bit computer, none of these match to the "long" type (wxInt32
16 is defined as signed int on
32-bit architectures) so that you cannot use long. To avoid
17 problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.
21 wxFileInputStream input( "mytext.dat" );
22 wxDataInputStream store( input );
27 store >> i1; // read a
8 bit integer.
28 store >> i1 >> f2; // read a
8 bit integer followed by float.
29 store >> line; // read a text line
32 See also
\helpref{wxDataOutputStream
}{wxdataoutputstream
}.
34 \wxheading{Include files
}
38 \latexignore{\rtfignore{\wxheading{Members
}}}
40 \membersection{wxDataInputStream::wxDataInputStream
}\label{wxdatainputstreamconstr
}
42 \func{}{wxDataInputStream
}{\param{wxInputStream\&
}{ stream
}}
44 Constructs a datastream object from an input stream. Only read methods will
47 \wxheading{Parameters
}
49 \docparam{stream
}{The input stream.
}
51 \membersection{wxDataInputStream::
\destruct{wxDataInputStream
}}
53 \func{}{\destruct{wxDataInputStream
}}{\void}
55 Destroys the wxDataInputStream object.
57 \membersection{wxDataInputStream::BigEndianOrdered
}
59 \func{void
}{BigEndianOrdered
}{\param{bool
}{ be_order
}}
61 If
{\it be_order
} is TRUE, all data will be read in big-endian
62 order, such as written by programs on a big endian architecture
63 (e.g. Sparc) or written by Java-Streams (which always use
66 \membersection{wxDataInputStream::Read8
}
68 \func{wxUint8
}{Read8
}{\void}
70 Reads a single byte from the stream.
72 \membersection{wxDataInputStream::Read16
}
74 \func{wxUint16
}{Read16
}{\void}
76 Reads a
16 bit integer from the stream.
78 \membersection{wxDataInputStream::Read32
}
80 \func{wxUint32
}{Read32
}{\void}
82 Reads a
32 bit integer from the stream.
84 \membersection{wxDataInputStream::ReadDouble
}
86 \func{double
}{ReadDouble
}{\void}
88 Reads a double (IEEE encoded) from the stream.
90 \membersection{wxDataInputStream::ReadString
}
92 \func{wxString
}{wxDataInputStream::ReadString
}{\void}
94 Reads a string from a stream. Actually, this function first reads a long integer
95 specifying the length of the string (without the last null character) and then
98 % ----------------------------------------------------------------------------
100 % ----------------------------------------------------------------------------
102 \section{\class{wxDataOutputStream
}}\label{wxdataoutputstream
}
104 This class provides functions that write binary data types in a
105 portable way. Data can be written in either big-endian or litte-endian
106 format, little-endian being the default on all architectures.
108 If you want to write data to text files (or streams) use
109 \helpref{wxTextOutputStream
}{wxtextoutputstream
} instead.
111 The << operator is overloaded and you can use this class like a standard
112 C++ iostream. See
\helpref{wxDataInputStream
}{wxdatainputstream
} for its
115 See also
\helpref{wxDataInputStream
}{wxdatainputstream
}.
117 \latexignore{\rtfignore{\wxheading{Members
}}}
119 \membersection{wxDataOutputStream::wxDataOutputStream
}\label{wxdataoutputstreamconstr
}
121 \func{}{wxDataOutputStream
}{\param{wxOutputStream\&
}{ stream
}}
123 Constructs a datastream object from an output stream. Only write methods will
126 \wxheading{Parameters
}
128 \docparam{stream
}{The output stream.
}
130 \membersection{wxDataOutputStream::
\destruct{wxDataOutputStream
}}
132 \func{}{\destruct{wxDataOutputStream
}}{\void}
134 Destroys the wxDataOutputStream object.
136 \membersection{wxDataOutputStream::BigEndianOrdered
}
138 \func{void
}{BigEndianOrdered
}{\param{bool
}{ be_order
}}
140 If
{\it be_order
} is TRUE, all data will be written in big-endian
141 order, e.g. for reading on a Sparc or from Java-Streams (which
142 always use big-endian order), otherwise data will be written in
145 \membersection{wxDataOutputStream::Write8
}
147 \func{void
}{wxDataOutputStream::Write8
}{{\param wxUint8
}{i8
}}
149 Writes the single byte
{\it i8
} to the stream.
151 \membersection{wxDataOutputStream::Write16
}
153 \func{void
}{wxDataOutputStream::Write16
}{{\param wxUint16
}{i16
}}
155 Writes the
16 bit integer
{\it i16
} to the stream.
157 \membersection{wxDataOutputStream::Write32
}
159 \func{void
}{wxDataOutputStream::Write32
}{{\param wxUint32
}{i32
}}
161 Writes the
32 bit integer
{\it i32
} to the stream.
163 \membersection{wxDataOutputStream::WriteDouble
}
165 \func{void
}{wxDataOutputStream::WriteDouble
}{{\param double
}{f
}}
167 Writes the double
{\it f
} to the stream using the IEEE format.
169 \membersection{wxDataOutputStream::WriteString
}
171 \func{void
}{wxDataOutputStream::WriteString
}{{\param const wxString\&
}{string
}}
173 Writes
{\it string
} to the stream. Actually, this method writes the size of
174 the string before writing
{\it string
} itself.