QTextStream 类提供用于读写文本的方便接口。 更多...
头: | #include <QTextStream> |
CMake: |
find_package(Qt6 COMPONENTS Core REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
继承: | QIODeviceBase |
注意: 此类的所有函数 可重入 .
enum | FieldAlignment { AlignLeft, AlignRight, AlignCenter, AlignAccountingStyle } |
enum | NumberFlag { ShowBase, ForcePoint, ForceSign, UppercaseBase, UppercaseDigits } |
flags | NumberFlags |
enum | RealNumberNotation { ScientificNotation, FixedNotation, SmartNotation } |
enum | Status { Ok, ReadPastEnd, ReadCorruptData, WriteFailed } |
QTextStream (const QByteArray & array , QIODeviceBase::OpenMode openMode = ReadOnly) | |
QTextStream (QByteArray * array , QIODeviceBase::OpenMode openMode = ReadWrite) | |
QTextStream (QString * string , QIODeviceBase::OpenMode openMode = ReadWrite) | |
QTextStream (FILE * fileHandle , QIODeviceBase::OpenMode openMode = ReadWrite) | |
QTextStream (QIODevice * device ) | |
QTextStream () | |
virtual | ~QTextStream () |
bool | atEnd () const |
bool | autoDetectUnicode () const |
QIODevice * | device () const |
QStringConverter::Encoding | encoding () const |
QTextStream::FieldAlignment | fieldAlignment () const |
int | fieldWidth () const |
void | flush () |
bool | generateByteOrderMark () const |
int | integerBase () const |
QLocale | locale () const |
QTextStream::NumberFlags | numberFlags () const |
QChar | padChar () const |
qint64 | pos () const |
QString | read (qint64 maxlen ) |
QString | readAll () |
QString | readLine (qint64 maxlen = 0) |
bool | readLineInto (QString * line , qint64 maxlen = 0) |
QTextStream::RealNumberNotation | realNumberNotation () const |
int | realNumberPrecision () const |
void | reset () |
void | resetStatus () |
bool | seek (qint64 pos ) |
void | setAutoDetectUnicode (bool enabled ) |
void | setDevice (QIODevice * device ) |
void | setEncoding (QStringConverter::Encoding encoding ) |
void | setFieldAlignment (QTextStream::FieldAlignment mode ) |
void | setFieldWidth (int width ) |
void | setGenerateByteOrderMark (bool generate ) |
void | setIntegerBase (int base ) |
void | setLocale (const QLocale & locale ) |
void | setNumberFlags (QTextStream::NumberFlags flags ) |
void | setPadChar (QChar ch ) |
void | setRealNumberNotation (QTextStream::RealNumberNotation notation ) |
void | setRealNumberPrecision (int precision ) |
void | setStatus (QTextStream::Status status ) |
void | setString (QString * string , QIODeviceBase::OpenMode openMode = ReadWrite) |
void | skipWhiteSpace () |
QTextStream::Status | status () const |
QString * | string () const |
QTextStream & | operator<< (QChar c ) |
QTextStream & | operator<< (char c ) |
QTextStream & | operator<< (short i ) |
QTextStream & | operator<< (unsigned short i ) |
QTextStream & | operator<< (int i ) |
QTextStream & | operator<< (unsigned int i ) |
QTextStream & | operator<< (long i ) |
QTextStream & | operator<< (unsigned long i ) |
QTextStream & | operator<< (qlonglong i ) |
QTextStream & | operator<< (qulonglong i ) |
QTextStream & | operator<< (float f ) |
QTextStream & | operator<< (double f ) |
QTextStream & | operator<< (const QString & string ) |
QTextStream & | operator<< (QStringView string ) |
QTextStream & | operator<< (QLatin1String string ) |
QTextStream & | operator<< (const QByteArray & array ) |
QTextStream & | operator<< (const char * string ) |
QTextStream & | operator<< (const void * ptr ) |
QTextStream & | operator>> (QChar & c ) |
QTextStream & | operator>> (char & c ) |
QTextStream & | operator>> (short & i ) |
QTextStream & | operator>> (unsigned short & i ) |
QTextStream & | operator>> (int & i ) |
QTextStream & | operator>> (unsigned int & i ) |
QTextStream & | operator>> (long & i ) |
QTextStream & | operator>> (unsigned long & i ) |
QTextStream & | operator>> (qlonglong & i ) |
QTextStream & | operator>> (qulonglong & i ) |
QTextStream & | operator>> (float & f ) |
QTextStream & | operator>> (double & f ) |
QTextStream & | operator>> (QString & str ) |
QTextStream & | operator>> (QByteArray & array ) |
QTextStream & | operator>> (char * c ) |
QTextStreamManipulator | qSetFieldWidth (int width ) |
QTextStreamManipulator | qSetPadChar (QChar ch ) |
QTextStreamManipulator | qSetRealNumberPrecision (int precision ) |
QTextStream 可以运转于 QIODevice , QByteArray 或 QString 。使用 QTextStream 的流运算符,可以方便地读写单词、行及数字。为生成文本,QTextStream 支持用于字段铺垫和对齐的格式化选项、及数字格式化。范例:
QFile data("output.txt"); if (data.open(QFile::WriteOnly | QFile::Truncate)) { QTextStream out(&data); out << "Result: " << qSetFieldWidth(10) << left << 3.14 << 2.7; // writes "Result: 3.14 2.7 " }
使用 QTextStream 读取控制台输入,并写入控制台输出也很常见。QTextStream 感知区域设置,且会使用正确编码自动解码 stdin (标准输入)。范例:
QTextStream stream(stdin); QString line; while (stream.readLineInto(&line)) { ... }
除使用 QTextStream 构造函数外,还可以设置操作设备 (或字符串) 的 QTextStream 通过调用 setDevice () 或 setString ()。可以寻址到位置通过调用 seek (),和 atEnd () 将返回 true 当没有剩余数据要读取时。若调用 flush (),QTextStream 将清空其写入缓冲中的所有数据并调用 flush () 在设备。
在内部,QTextStream 使用 Unicode 基缓冲,和 QStringConverter 用于 QTextStream 以自动支持不同编码。默认情况下,UTF-8 用于读写,但也可以设置编码通过调用 setEncoding ()。自动 Unicode 检测也支持。当启用此特征 (默认行为) 时,QTextStream 将检测 UTF-8、UTF-16 或 UTF-32 BOM (字节序标记),并在读取时切换到适当 UTF 编码。默认情况下,QTextStream 不会写入 BOM,但可以启用这通过调用 setGenerateByteOrderMark (true)。当 QTextStream 运转于 QString 直接,禁用编码。
使用 QTextStream 有 3 种一般办法,当读取文本文件时:
由于文本流使用缓冲,不应该使用超类实现从流读取。例如,若拥有 QFile 并直接读取自它使用 QFile::readLine () 而不是使用流,文本流的内部位置将不同步于文件位置。
默认情况下,当从文本流读取数字时,QTextStream 将自动检测数字的基表示。例如,若数字以 0x 开始,假定是十六进制形式。若以数字 1-9 开始,假定是十进制形式,依此类推。可以设置整数基,从而禁用自动检测,通过调用 setIntegerBase ()。范例:
QTextStream in("0x50 0x20"); int firstNumber, secondNumber; in >> firstNumber; // firstNumber == 80 in >> dec >> secondNumber; // secondNumber == 0 char ch; in >> ch; // ch == 'x'
QTextStream 支持用于生成文本的很多格式化选项。可以设置字段宽度,和填充字符通过调用 setFieldWidth () 和 setPadChar ()。使用 setFieldAlignment () 以设置每个字段内的对齐方式。对于实数,调用 setRealNumberNotation () 和 setRealNumberPrecision () 以设置表示法 ( SmartNotation , ScientificNotation , FixedNotation ) 及生成数字的位数精度。一些额外数字格式化选项也是可用的透过 setNumberFlags ().
像
<iostream>
在标准 C++ 库,QTextStream 还定义了几个全局操纵器函数:
此外,Qt 提供了 3 个接受参数的全局操纵符: qSetFieldWidth (), qSetPadChar (),和 qSetRealNumberPrecision ().
另请参阅 QDataStream , QIODevice , QFile , QBuffer ,和 QTcpSocket .
此枚举指定如何对齐字段中的文本,当字段比占据文本更宽时。
常量 | 值 | 描述 |
---|---|---|
QTextStream::AlignLeft
|
0
|
铺垫在字段右侧。 |
QTextStream::AlignRight
|
1
|
铺垫在字段左侧。 |
QTextStream::AlignCenter
|
2
|
铺垫在字段的两侧。 |
QTextStream::AlignAccountingStyle
|
3
|
如同 AlignRight,除刷新数字符号左侧外。 |
另请参阅 setFieldAlignment ().
此枚举指定可以设置的各种标志能影响输出对于整数,
float
,和
double
。
常量 | 值 | 描述 |
---|---|---|
QTextStream::ShowBase
|
0x1
|
展示作为前缀的基,若基为 16 (0x)、8 (0)、或 2 (0b)。 |
QTextStream::ForcePoint
|
0x2
|
在数字中始终放置小数分隔符,即使没有小数。 |
QTextStream::ForceSign
|
0x4
|
在数字中始终放置符号,即使为正数。 |
QTextStream::UppercaseBase
|
0x8
|
使用大写版本的基前缀 (0X、0B)。 |
QTextStream::UppercaseDigits
|
0x10
|
数字 10-35 使用大写字母表达,而不是小写。 |
NumberFlags 类型是 typedef 对于 QFlags <NumberFlag>。它存储 NumberFlag 值的 OR 组合。
另请参阅 setNumberFlags ().
此枚举指定使用哪种表示法表达
float
and
double
以字符串形式。
常量 | 值 | 描述 |
---|---|---|
QTextStream::ScientificNotation
|
2
|
科学表示法 (
printf()
's
%e
标志)。
|
QTextStream::FixedNotation
|
1
|
定点表示法 (
printf()
's
%f
标志)。
|
QTextStream::SmartNotation
|
0
|
科学 (或定点) 表示法,从属哪种更有意义 (
printf()
's
%g
标志)。
|
另请参阅 setRealNumberNotation ().
此枚举描述文本流的当前状态。
常量 | 值 | 描述 |
---|---|---|
QTextStream::Ok
|
0
|
文本流运转正常。 |
QTextStream::ReadPastEnd
|
1
|
文本流已读取过了底层设备的数据末尾。 |
QTextStream::ReadCorruptData
|
2
|
文本流有读取被破坏数据。 |
QTextStream::WriteFailed
|
3
|
文本流无法写入到底层设备。 |
另请参阅 status ().
构造 QTextStream 运转于 array ,使用 openMode 定义打开方式。以只读方式访问数组,不管值 openMode .
此构造函数操控常量字符串很方便。范例:
int main(int argc, char *argv[]) { // read numeric arguments (123, 0x20, 4.5...) for (int i = 1; i < argc; ++i) { int number; QTextStream in(argv[i]); in >> number; ... } }
构造 QTextStream 运转于 array ,使用 openMode 定义打开方式。在内部,数组的包裹是通过 QBuffer .
构造 QTextStream 运转于 string ,使用 openMode 定义打开方式。
构造 QTextStream 运转于 fileHandle ,使用 openMode 定义打开方式。在内部, QFile 被创建以处理 FILE 指针。
此构造函数很有用,对于直接工作于基于公共 FILE 的输入和输出流:stdin、stdout 和 stderr。范例:
QString str; QTextStream in(stdin); in >> str;
构造 QTextStream 运转于 device .
构造 QTextStream。在可以使用它进行读取 (或写入) 之前,必须赋值设备 (或字符串)。
另请参阅 setDevice () 和 setString ().
[虚拟]
QTextStream::
~QTextStream
()
销毁 QTextStream .
若流运转于设备, flush () 会被隐式调用。否则,设备不受影响。
返回
true
若没有更多数据能读取自
QTextStream
;否则返回
false
。这类似于,但不同于调用
QIODevice::atEnd
(),因为
QTextStream
还考虑其内部 Unicode 缓冲。
返回
true
若启用了自动 Unicode 检测,否则返回
false
。默认启用自动 Unicode 检测。
另请参阅 setAutoDetectUnicode () 和 setEncoding ().
返回被当前设备关联的
QTextStream
,或
nullptr
若没有设备被赋值。
另请参阅 setDevice () 和 string ().
返回赋值给流的当前编码。
另请参阅 setEncoding (), setAutoDetectUnicode (),和 locale ().
返回当前字段的对齐。
另请参阅 setFieldAlignment () 和 fieldWidth ().
返回当前字段的宽度。
另请参阅 setFieldWidth ().
刷新等待写入设备的任何缓冲数据。
若 QTextStream 运转于字符串,此函数什么都不做。
返回
true
if
QTextStream
被设为生成 UTF BOM (字节序标记),当使用 UTF 编码时;否则返回
false
。默认情况下,UTF BOM (字节序标记) 生成被设为 false。
另请参阅 setGenerateByteOrderMark ().
返回整数的当前基。0 意味着检测基当读取时,或 10 (十进制) 当生成数字时。
另请参阅 setIntegerBase (), QString::number (),和 numberFlags ().
返回用于此流的区域设置。默认区域设置为 C。
另请参阅 setLocale ().
返回当前数字的标志。
另请参阅 setNumberFlags (), integerBase (),和 realNumberNotation ().
返回当前铺垫的字符。
另请参阅 setPadChar () 和 setFieldWidth ().
返回对应流当前位置的设备位置,或 -1 若出现错误 (如:若没有设备/字符串,或若存在设备错误)。
因为 QTextStream 有缓冲,此函数可能必须寻址设备以重构有效设备位置。此操作会很昂贵,所以,可能想要避免在紧密循环中调用此函数。
另请参阅 seek ().
读取最多 maxlen 字符从流,并返回读取数据按 QString .
另请参阅 readAll (), readLine (),和 QIODevice::read ().
读取流的整个内容,并返回它按 QString 。避免使用此函数,当操控大文件时。因为 , 它会消耗大量内存。
调用 readLine() is better if you do not know how much data is available.
另请参阅 readLine ().
从流读取 1 行文本,并返回它按 QString 。最大允许行长度被设为 maxlen 。若流包含的行长于这,则分割行后于 maxlen 字符并以部分形式返回。
若 maxlen 为 0,行可以是任意长度。
返回行没有结尾 (\n 或 \r\n) 行尾字符,所以调用 QString::trimmed () 可能不必要。
若流已读取到 EOF (文件末尾),readLine() 返回 null QString 。对于字符串 (或支持字符串的设备),可以明确测试流是否结束使用 atEnd ().
另请参阅 readAll () 和 QIODevice::readLine ().
[since 5.5]
bool
QTextStream::
readLineInto
(
QString
*
line
,
qint64
maxlen
= 0)
从流读取 1 行文本到
line
。若
line
is
nullptr
,不存储读取行。
最大允许行长度被设为 maxlen 。若流包含的行长于这,则分割行后于 maxlen 字符并以部分形式返回。
若 maxlen 为 0,行可以是任意长度。
结果行没有结尾 (\n 或 \r\n) 行尾字符,所以调用 QString::trimmed () 可能不必要。
若 line 有足够容量容纳即将读取的数据;此函数可能不需要分配新内存。因此,它可以更快相比 readLine ().
返回
false
如果流已读取到 EOF (文件末尾) 或出现错误;否则返回
true
。内容在
line
在调用前被丢弃,在任何情况下。
该函数在 Qt 5.5 引入。
另请参阅 readAll () 和 QIODevice::readLine ().
返回当前实数表示法。
另请参阅 setRealNumberNotation (), realNumberPrecision (), numberFlags (),和 integerBase ().
返回当前实数的精度,或数字的小数位数, QTextStream will write when generating real numbers.
另请参阅 setRealNumberPrecision (), setRealNumberNotation (), realNumberNotation (), numberFlags (),和 integerBase ().
重置 QTextStream 的格式化选项,将之还原到其原始构造状态。设备、字符串及任何缓冲数据,保持不变。
重置文本流的状态。
另请参阅 QTextStream::Status , status (),和 setStatus ().
寻址到位置
pos
在设备中。返回
true
当成功时;否则返回
false
.
若 enabled 为 True, QTextStream 将试图通过窥视流数据以检测 Unicode 编码,看是否可以找到 UTF-8、UTF-16 或 UTF-32 BOM (字节序标记)。若有找到此标记, QTextStream 将以 UTF 编码替换当前编码。
此函数可以一起使用与 setEncoding ()。常见是把编码设为 UTF-8,然后启用 UTF-16 检测。
另请参阅 autoDetectUnicode () 和 setEncoding ().
把当前设备设为 device 。若已经有赋值设备, QTextStream 将调用 flush () 在替换旧设备前。
注意: 此函数把区域设置重置成 C 默认区域设置,并将编码重置成 UTF-8 默认编码。
另请参阅 device () 和 setString ().
把用于此流的编码设为 encoding 。编码用于解码从赋值设备读取的任何数据,和用于编码要写入的任何数据。默认情况下, QStringConverter::Utf8 被使用,并启用自动 Unicode 检测。
若 QTextStream 运转于字符串,此函数什么都不做。
警告: 若调用此函数 (当文本流正从打开的顺序套接字读取时),内部缓冲可能仍包含使用旧编码的解码文本。
另请参阅 encoding (), setAutoDetectUnicode (),和 setLocale ().
把字段对齐方式设为 mode 。当一起用于 setFieldWidth (),此函数允许生成对齐到左、对齐到右、或居中对齐的格式化输出文本。
另请参阅 fieldAlignment () 和 setFieldWidth ().
把当前字段宽度设为 width 。若 width 为 0 (默认),字段宽度等于生成文本长度。
注意: 字段宽度适用于追加到此流的每个元素,在调用此函数后 (如:它还铺垫 endl)。此行为不同于 STL (标准模板库) 类似类,在 STL,字段宽度只适用于下一元素。
另请参阅 fieldWidth () 和 setPadChar ().
若 generate 为 true 并使用 UTF 编码, QTextStream 将插入 BOM (字节序标记) 在把任何数据写入设备前。若 generate 为 False,将不插入 BOM。必须在写入任何数据之前,调用此函数。否则,什么都不做。
另请参阅 generateByteOrderMark () 和 bom ().
把整数的基设为 base ,用于读取和生成数字两者。 base 可以为 2 (二进制)、8 (八进制)、10 (十进制) 或 16 (十六进制)。若 base 为 0, QTextStream 将试图检测基通过审查流中的数据。当生成数字时, QTextStream 假定基为 10 除非有明确设置基。
另请参阅 integerBase (), QString::number (),和 setNumberFlags ().
把用于此流的区域设置设为 locale 。指定的区域设置用于数字及其字符串表示形式之间的转换。
默认区域设置为 C 且是特殊情况 - 不使用千位组分隔符,出于向后兼容原因。
另请参阅 locale ().
把当前数字标志设为 flags . flags 是一组标志来自 NumberFlag enum, and describes options for formatting generated code (e.g., whether or not to always write the base or sign of a number).
另请参阅 numberFlags (), setIntegerBase (),和 setRealNumberNotation ().
把铺垫字符设为 ch 。默认值为 ASCII 空格字符 ' ',或 QChar (0x20)。此字符用于填充字段中的空格,当生成文本时。
范例:
QString s; QTextStream out(&s); out.setFieldWidth(10); out.setFieldAlignment(QTextStream::AlignCenter); out.setPadChar('-'); out << "Qt" << "rocks!";
字符串
s
包含:
----Qt------rocks!--
另请参阅 padChar () 和 setFieldWidth ().
把实数表示法设为 notation ( SmartNotation , FixedNotation , ScientificNotation )。当读取并生成数字时, QTextStream 使用此值来检测实数的格式。
另请参阅 realNumberNotation (), setRealNumberPrecision (), setNumberFlags (),和 setIntegerBase ().
把实数的精度设为 precision . This value describes the number of fraction digits QTextStream should write when generating real numbers.
精度不可以为负值。默认值为 6。
另请参阅 realNumberPrecision () 和 setRealNumberNotation ().
把文本流的状态设为 status 给定。
忽略后续 setStatus() 调用,直到 resetStatus () 被调用。
另请参阅 Status , status (),和 resetStatus ().
将当前字符串设为 string ,使用给定 openMode 。若已经有赋值设备, QTextStream 将调用 flush () 在替换它前。
另请参阅 string () 和 setDevice ().
Reads and discards whitespace from the stream until either a non-space character is detected, or until atEnd () returns true. This function is useful when reading a stream character by character.
空白字符是所有字符对于那些
QChar::isSpace
() 返回
true
.
另请参阅 operator>> ().
返回文本流的状态。
另请参阅 QTextStream::Status , setStatus (),和 resetStatus ().
返回的当前字符串被赋值给
QTextStream
,或
nullptr
若没有赋值字符串。
另请参阅 setString () 和 device ().
写入字符 c 到流,然后返回引用针对 QTextStream .
另请参阅 setFieldWidth ().
这是重载函数。
转换 c 从 ASCII 到 QChar ,然后将它写入流。
写入整数数字 i 到流,然后返回引用针对 QTextStream . By default, the number is stored in decimal form, but you can also set the base by calling setIntegerBase ().
另请参阅 setFieldWidth () 和 setNumberFlags ().
这是重载函数。
写入无符号短整数 i 到流。
这是重载函数。
写入有符号整数 i 到流。
这是重载函数。
写入无符号整数 i 到流。
这是重载函数。
写入有符号 long i 到流。
这是重载函数。
写入无符号 long i 到流。
这是重载函数。
写入 qlonglong i 到流。
这是重载函数。
写入 qulonglong i 到流。
写入实数 f 到流,然后返回引用针对 QTextStream 。默认情况下, QTextStream 存储它使用 SmartNotation , with up to 6 digits of precision. You can change the textual representation QTextStream will use for real numbers by calling setRealNumberNotation (), setRealNumberPrecision () 和 setNumberFlags ().
另请参阅 setFieldWidth (), setRealNumberNotation (), setRealNumberPrecision (),和 setNumberFlags ().
这是重载函数。
写入 double f 到流。
写入字符串 string 到流,并返回引用针对 QTextStream . The string is first encoded using the assigned encoding (the default is UTF-8) before it is written to the stream.
另请参阅 setFieldWidth () 和 setEncoding ().
[since 5.12]
QTextStream
&QTextStream::
operator<<
(
QStringView
string
)
这是重载函数。
写入 string 到流,并返回引用针对 QTextStream .
该函数在 Qt 5.12 引入。
这是重载函数。
写入 string 到流,并返回引用针对 QTextStream .
这是重载函数。
写入 array 到流。内容对于 array 的转换是采用 QString::fromUtf8 ().
这是重载函数。
写入常量字符串指向通过 string 到流。 string is assumed to be in UTF-8 encoding. This operator is convenient when working with constant string data. Example:
QTextStream out(stdout); out << "Qt rocks!" << Qt::endl;
警告: QTextStream assumes that string points to a string of text, terminated by a '\0' character. If there is no terminating '\0' character, your application may crash.
这是重载函数。
写入 ptr 到流以具有基的十六进制数形式。
从流读取字符并把它存储在 c . Returns a reference to the QTextStream , so several operators can be nested. Example:
QTextStream in(file); QChar ch1, ch2, ch3; in >> ch1 >> ch2 >> ch3;
空白 not 跳过。
这是重载函数。
从流读取字符并把它存储在 c . The character from the stream is converted to ISO-5589-1 before it is stored.
另请参阅 QChar::toLatin1 ().
读取整数从流并把它存储在 i ,然后返回引用针对 QTextStream 。把数字铸造成正确类型,在存储它之前。若在流中未检测到数字, i 被设为 0。
默认情况下, QTextStream 将试图使用下列规则以检测数字的基:
前缀 | 基 |
---|---|
0b 或 0B | 2 (二进制) |
"0" followed by "0-7" | 8 (八进制) |
"0" otherwise | 10 (十进制) |
0x 或 0X | 16 (十六进制) |
1-9 | 10 (十进制) |
通过调用 setIntegerBase (), you can specify the integer base explicitly. This will disable the auto-detection, and speed up QTextStream slightly.
跳过前导空白。
这是重载函数。
Stores the integer in the unsigned short i .
这是重载函数。
Stores the integer in the signed int i .
这是重载函数。
Stores the integer in the unsigned int i .
这是重载函数。
Stores the integer in the signed long i .
这是重载函数。
Stores the integer in the unsigned long i .
这是重载函数。
Stores the integer in the qlonglong i .
这是重载函数。
Stores the integer in the qulonglong i .
Reads a real number from the stream and stores it in f ,然后返回引用针对 QTextStream . The number is cast to the correct type. If no real number is detect on the stream, f is set to 0.0.
As a special exception, QTextStream allows the strings "nan" and "inf" to represent NAN and INF floats or doubles.
跳过前导空白。
这是重载函数。
把实数存储在 double f .
Reads a word from the stream and stores it in
str
, then returns a reference to the stream. Words are separated by whitespace (i.e., all characters for which
QChar::isSpace
() 返回
true
).
跳过前导空白。
这是重载函数。
把单词转换成 UTF-8,然后把它存储在 array .
另请参阅 QString::toLatin1 ().
这是重载函数。
Converts the word to UTF-8 and stores it in c , terminated by a '\0' character. If no word is available, only the '\0' character is stored.
Warning: Although convenient, this operator is dangerous and must be used with care.
QTextStream
assumes that
c
points to a buffer with enough space to hold the word. If the buffer is too small, your application may crash. For a word consisting of
n
QChars, the buffer needs to be at least
3*n+1
characters long.
若可能的话,使用 QByteArray 操作符代替。
相当于 QTextStream::setFieldWidth ( width ).
相当于 QTextStream::setPadChar ( ch ).
相当于 QTextStream::setRealNumberPrecision ( precision ).