You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
5.1 KiB
139 lines
5.1 KiB
'\" t
|
|
.TH QBuffer 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
|
|
.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
|
|
.\" license file included in the distribution for a complete license
|
|
.\" statement.
|
|
.\"
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
QBuffer \- I/O device that operates on a QByteArray
|
|
.SH SYNOPSIS
|
|
All the functions in this class are reentrant when Qt is built with thread support.</p>
|
|
.PP
|
|
\fC#include <qbuffer.h>\fR
|
|
.PP
|
|
Inherits QIODevice.
|
|
.PP
|
|
.SS "Public Members"
|
|
.in +1c
|
|
.ti -1c
|
|
.BI "\fBQBuffer\fR ()"
|
|
.br
|
|
.ti -1c
|
|
.BI "\fBQBuffer\fR ( QByteArray buf )"
|
|
.br
|
|
.ti -1c
|
|
.BI "\fB~QBuffer\fR ()"
|
|
.br
|
|
.ti -1c
|
|
.BI "QByteArray \fBbuffer\fR () const"
|
|
.br
|
|
.ti -1c
|
|
.BI "bool \fBsetBuffer\fR ( QByteArray buf )"
|
|
.br
|
|
.ti -1c
|
|
.BI "virtual Q_LONG \fBwriteBlock\fR ( const char * p, Q_ULONG len )"
|
|
.br
|
|
.ti -1c
|
|
.BI "Q_LONG \fBwriteBlock\fR ( const QByteArray & data )"
|
|
.br
|
|
.in -1c
|
|
.SH DESCRIPTION
|
|
The QBuffer class is an I/O device that operates on a QByteArray.
|
|
.PP
|
|
QBuffer is used to read and write to a memory buffer. It is normally used with a QTextStream or a QDataStream. QBuffer has an associated QByteArray which holds the buffer data. The size() of the buffer is automatically adjusted as data is written.
|
|
.PP
|
|
The constructor \fCQBuffer(QByteArray)\fR creates a QBuffer using an existing byte array. The byte array can also be set with setBuffer(). Writing to the QBuffer will modify the original byte array because QByteArray is explicitly shared.
|
|
.PP
|
|
Use open() to open the buffer before use and to set the mode (read-only, write-only, etc.). close() closes the buffer. The buffer must be closed before reopening or calling setBuffer().
|
|
.PP
|
|
A common way to use QBuffer is through QDataStream or QTextStream, which have constructors that take a QBuffer parameter. For convenience, there are also QDataStream and QTextStream constructors that take a QByteArray parameter. These constructors create and open an internal QBuffer.
|
|
.PP
|
|
Note that QTextStream can also operate on a QString (a Unicode string); a QBuffer cannot.
|
|
.PP
|
|
You can also use QBuffer directly through the standard QIODevice functions readBlock(), writeBlock() readLine(), at(), getch(), putch() and ungetch().
|
|
.PP
|
|
See also QFile, QDataStream, QTextStream, QByteArray, Shared Classes, Collection Classes, and Input/Output and Networking.
|
|
.SH MEMBER FUNCTION DOCUMENTATION
|
|
.SH "QBuffer::QBuffer ()"
|
|
Constructs an empty buffer.
|
|
.SH "QBuffer::QBuffer ( QByteArray buf )"
|
|
Constructs a buffer that operates on \fIbuf\fR.
|
|
.PP
|
|
If you open the buffer in write mode (<a href="qfile.html#open">IO_WriteOnly</a> or IO_ReadWrite) and write something into the buffer, \fIbuf\fR will be modified.
|
|
.PP
|
|
Example:
|
|
.PP
|
|
.nf
|
|
.br
|
|
QCString str = "abc";
|
|
.br
|
|
QBuffer b( str );
|
|
.br
|
|
b.open( IO_WriteOnly );
|
|
.br
|
|
b.at( 3 ); // position at the 4th character (the terminating \\0)
|
|
.br
|
|
b.writeBlock( "def", 4 ); // write "def" including the terminating \\0
|
|
.br
|
|
b.close();
|
|
.br
|
|
// Now, str == "abcdef" with a terminating \\0
|
|
.br
|
|
.fi
|
|
.PP
|
|
See also setBuffer().
|
|
.SH "QBuffer::~QBuffer ()"
|
|
Destroys the buffer.
|
|
.SH "QByteArray QBuffer::buffer () const"
|
|
Returns this buffer's byte array.
|
|
.PP
|
|
See also setBuffer().
|
|
.SH "bool QBuffer::setBuffer ( QByteArray buf )"
|
|
Replaces the buffer's contents with \fIbuf\fR and returns TRUE.
|
|
.PP
|
|
Does nothing (and returns FALSE) if isOpen() is TRUE.
|
|
.PP
|
|
Note that if you open the buffer in write mode (<a href="qfile.html#open">IO_WriteOnly</a> or IO_ReadWrite) and write something into the buffer, \fIbuf\fR is also modified because QByteArray is an explicitly shared class.
|
|
.PP
|
|
See also buffer(), open(), and close().
|
|
.SH "Q_LONG QBuffer::writeBlock ( const char * p, Q_ULONG len )\fC [virtual]\fR"
|
|
Writes \fIlen\fR bytes from \fIp\fR into the buffer at the current index position, overwriting any characters there and extending the buffer if necessary. Returns the number of bytes actually written.
|
|
.PP
|
|
Returns -1 if an error occurred.
|
|
.PP
|
|
See also readBlock().
|
|
.PP
|
|
Reimplemented from QIODevice.
|
|
.SH "Q_LONG QBuffer::writeBlock ( const QByteArray & data )"
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
.PP
|
|
This convenience function is the same as calling
|
|
\fCwriteBlock( data.data(), data.size() )\fR with \fIdata\fR.
|
|
|
|
.SH "SEE ALSO"
|
|
.BR http://doc.trolltech.com/qbuffer.html
|
|
.BR http://www.trolltech.com/faq/tech.html
|
|
.SH COPYRIGHT
|
|
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
|
|
license file included in the distribution for a complete license
|
|
statement.
|
|
.SH AUTHOR
|
|
Generated automatically from the source code.
|
|
.SH BUGS
|
|
If you find a bug in Qt, please report it as described in
|
|
.BR http://doc.trolltech.com/bughowto.html .
|
|
Good bug reports help us to help you. Thank you.
|
|
.P
|
|
The definitive Qt documentation is provided in HTML format; it is
|
|
located at $QTDIR/doc/html and can be read using Qt Assistant or with
|
|
a web browser. This man page is provided as a convenience for those
|
|
users who prefer man pages, although this format is not officially
|
|
supported by Trolltech.
|
|
.P
|
|
If you find errors in this manual page, please report them to
|
|
.BR qt-bugs@trolltech.com .
|
|
Please include the name of the manual page (qbuffer.3qt) and the Qt
|
|
version (3.3.8).
|