wxWidgets/docs/latex/wx/txtstrm.tex
Robert Roebling 65045edde4 Added wxFFileStream base on wxFFile (as opposed to wxFile)
Implemented the "endl" thing for text streams,
  Corrected cursor display for text ctrls,
  Corrected the strange spin button behaviour when dynamically
    changing its range
  Corrcected bug in wxListBox when programmatically unselecting
   an item in multi-select mode (bug reports are getting esoteric)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-08-22 16:12:48 +00:00

157 lines
4.5 KiB
TeX

% ----------------------------------------------------------------------------
% wxTextInputStream
% ----------------------------------------------------------------------------
\section{\class{wxTextInputStream}}\label{wxtextinputstream}
This class provides functions that read text datas using an input stream.
So, you can read \it{text} floats, integers.
The wxTextInputStream correctly reads text files (or streams) in DOS, Macintosh
and Unix formats and reports a single newline char as a line ending.
Operator >> is overloaded and you can use this class like a standard C++ iostream.
Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
and on a typical 32-bit computer, none of these match to the "long" type (wxInt32
is defined as int on 32-bit architectures) so that you cannot use long. To avoid
problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.
For example:
\begin{verbatim}
wxFileInputStream input( "mytext.txt" );
wxTextInputStream text( input );
wxUint8 i1;
float f2;
wxString line;
text >> i1; // read a 8 bit integer.
text >> i1 >> f2; // read a 8 bit integer followed by float.
text >> line; // read a text line
\end{verbatim}
\wxheading{Include files}
<wx/txtstrm.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTextInputStream::wxTextInputStream}\label{wxtextinputstreamconstr}
\func{}{wxTextInputStream}{\param{wxInputStream\&}{ stream}}
Constructs a text stream object from an input stream. Only read methods will
be available.
\wxheading{Parameters}
\docparam{stream}{The input stream.}
\membersection{wxTextInputStream::\destruct{wxTextInputStream}}
\func{}{\destruct{wxTextInputStream}}{\void}
Destroys the wxTextInputStream object.
\membersection{wxTextInputStream::Read8}
\func{wxUint8}{Read8}{\void}
Reads a single byte from the stream.
\membersection{wxTextInputStream::Read16}
\func{wxUint16}{Read16}{\void}
Reads a 16 bit integer from the stream.
\membersection{wxTextInputStream::Read32}
\func{wxUint16}{Read32}{\void}
Reads a 32 bit integer from the stream.
\membersection{wxTextInputStream::ReadDouble}
\func{double}{ReadDouble}{\void}
Reads a double (IEEE encoded) from the stream.
\membersection{wxTextInputStream::ReadString}
\func{wxString}{wxTextInputStream::ReadString}{\void}
Reads a line from the stream. A line is a string which ends with
$\backslash$n or $\backslash$r$\backslash$n or $\backslash$r.
% ----------------------------------------------------------------------------
% wxTextOutputStream
% ----------------------------------------------------------------------------
\section{\class{wxTextOutputStream}}\label{wxtextoutputstream}
This class provides functions that write text datas using an output stream.
So, you can write \it{text} floats, integers.
You can also simulate the C++ cout class:
\begin{verbatim}
wxFFileOutputStream output( stderr );
wxTextOutputStream cout( output );
cout << "This is a text line" << endl;
cout << 1234;
cout << 1.23456;
\end{verbatim}
The wxTextOutputStream writes text files (or streams) on DOS, Macintosh
and Unix in their native formats (concerning the line ending).
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTextOutputStream::wxTextOutputStream}\label{wxtextoutputstreamconstr}
\func{}{wxTextOutputStream}{\param{wxOutputStream\&}{ stream}}
Constructs a text stream object from an output stream. Only write methods will
be available.
\wxheading{Parameters}
\docparam{stream}{The output stream.}
\membersection{wxTextOutputStream::\destruct{wxTextOutputStream}}
\func{}{\destruct{wxTextOutputStream}}{\void}
Destroys the wxTextOutputStream object.
\membersection{wxTextOutputStream::Write8}
\func{void}{wxTextOutputStream::Write8}{{\param wxUint8 }{i8}}
Writes the single byte {\it i8} to the stream.
\membersection{wxTextOutputStream::Write16}
\func{void}{wxTextOutputStream::Write16}{{\param wxUint16 }{i16}}
Writes the 16 bit integer {\it i16} to the stream.
\membersection{wxTextOutputStream::Write32}
\func{void}{wxTextOutputStream::Write32}{{\param wxUint32 }{i32}}
Writes the 32 bit integer {\it i32} to the stream.
\membersection{wxTextOutputStream::WriteDouble}
\func{void}{wxTextOutputStream::WriteDouble}{{\param double }{f}}
Writes the double {\it f} to the stream using the IEEE format.
\membersection{wxTextOutputStream::WriteString}
\func{void}{wxTextOutputStream::WriteString}{{\param const wxString\& }{string}}
Writes {\it string} as a line. Depending on the operating system, it adds
$\backslash$n or $\backslash$r$\backslash$n.