]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/datistrm.tex
We surely don't need two debugging sections,
[wxWidgets.git] / docs / latex / wx / datistrm.tex
CommitLineData
f6106dae
VZ
1\section{\class{wxDataInputStream}}\label{wxdatainputstream}
2
3This class provides functions that read binary data types in a
2edb0bde 4portable way. Data can be read in either big-endian or little-endian
f6106dae
VZ
5format, little-endian being the default on all architectures.
6
7If you want to read data from text files (or streams) use
8\helpref{wxTextInputStream}{wxtextinputstream} instead.
9
10The >> operator is overloaded and you can use this class like a standard C++ iostream.
11Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
12and on a typical 32-bit computer, none of these match to the "long" type (wxInt32
13is defined as signed int on 32-bit architectures) so that you cannot use long. To avoid
14problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.
15
16For example:
17
18\begin{verbatim}
19 wxFileInputStream input( "mytext.dat" );
20 wxDataInputStream store( input );
21 wxUint8 i1;
22 float f2;
23 wxString line;
24
25 store >> i1; // read a 8 bit integer.
26 store >> i1 >> f2; // read a 8 bit integer followed by float.
27 store >> line; // read a text line
28\end{verbatim}
29
30See also \helpref{wxDataOutputStream}{wxdataoutputstream}.
31
32\wxheading{Derived from}
33
34None
35
36\wxheading{Include files}
37
38<wx/datstrm.h>
39
40\latexignore{\rtfignore{\wxheading{Members}}}
41
42\membersection{wxDataInputStream::wxDataInputStream}\label{wxdatainputstreamconstr}
43
44\func{}{wxDataInputStream}{\param{wxInputStream\&}{ stream}}
45
a99acbb0
VS
46\func{}{wxDataInputStream}{\param{wxInputStream\&}{ stream}, \param{wxMBConv\&}{ conv = wxMBConvUTF8}}
47
f6106dae 48Constructs a datastream object from an input stream. Only read methods will
a99acbb0 49be available. The second form is only available in Unicode build of wxWindows.
f6106dae
VZ
50
51\wxheading{Parameters}
52
53\docparam{stream}{The input stream.}
54
a99acbb0
VS
55\docparam{conv}{Charset conversion object object used to decode strings in Unicode
56mode (see \helpref{wxDataInputStream::ReadString}{wxdatainputstreamreadstring}
57documentation for detailed description). Note that you must not destroy
58{\it conv} before you destroy this wxDataInputStream instance!}
59
f6106dae
VZ
60\membersection{wxDataInputStream::\destruct{wxDataInputStream}}
61
62\func{}{\destruct{wxDataInputStream}}{\void}
63
64Destroys the wxDataInputStream object.
65
66\membersection{wxDataInputStream::BigEndianOrdered}
67
68\func{void}{BigEndianOrdered}{\param{bool}{ be\_order}}
69
cc81d32f 70If {\it be\_order} is true, all data will be read in big-endian
f6106dae
VZ
71order, such as written by programs on a big endian architecture
72(e.g. Sparc) or written by Java-Streams (which always use
73big-endian order).
74
75\membersection{wxDataInputStream::Read8}
76
77\func{wxUint8}{Read8}{\void}
78
79Reads a single byte from the stream.
80
81\membersection{wxDataInputStream::Read16}
82
83\func{wxUint16}{Read16}{\void}
84
4d1cbdbe 85Reads a 16 bit unsigned integer from the stream.
f6106dae
VZ
86
87\membersection{wxDataInputStream::Read32}
88
89\func{wxUint32}{Read32}{\void}
90
4d1cbdbe
VZ
91Reads a 32 bit unsigned integer from the stream.
92
93\membersection{wxDataInputStream::Read64}
94
95\func{wxUint64}{Read64}{\void}
96
97Reads a 64 bit unsigned integer from the stream.
f6106dae
VZ
98
99\membersection{wxDataInputStream::ReadDouble}
100
101\func{double}{ReadDouble}{\void}
102
103Reads a double (IEEE encoded) from the stream.
104
a99acbb0 105\membersection{wxDataInputStream::ReadString}\label{wxdatainputstreamreadstring}
f6106dae
VZ
106
107\func{wxString}{ReadString}{\void}
108
a99acbb0
VS
109Reads a string from a stream. Actually, this function first reads a long
110integer specifying the length of the string (without the last null character)
111and then reads the string.
f6106dae 112
a99acbb0
VS
113In Unicode build of wxWindows, the fuction first reads multibyte (char*)
114string from the stream and then converts it to Unicode using the {\it conv}
115object passed to constructor and returns the result as wxString. You are
116responsible for using the same convertor as when writing the stream.
f6106dae 117
a99acbb0 118See also \helpref{wxDataOutputStream::WriteString}{wxdataoutputstreamwritestring}.
ba637f22 119