介绍
QTextStream
类可以在QIODevice
,QByteArray
或QString
上运行。使用QTextStream
类可以使用流的方式方便地读写单词、行和数字。对于生成文本,QTextStream
支持字段填充和对齐以及数字格式的格式设置选项。
一般在读取文本文件时,通常有三种方式来使用QTextStream
- 逐块:可以通过
readline()
或readAll()
,一次性读取一块数据
QFile data("output.txt"); //hello world
if (data.open(QFile::ReadOnly)) {
QTextStream in(&data);
QString str = in.readAll();//hello world
}
- 逐字逐句:可以通过流的方式,逐字逐句传输到
QStrings
、QByteArrays
和char*
缓冲区,单词以空格分割
QFile data("output.txt");//hello world
if (data.open(QFile::ReadOnly)) {
QTextStream in(&data);
QString str1,str2,str3;
in >> str1 >> str2 >> str3;//str1=hello str2=world str3=""
}
- 逐个字符:通过流式传输到
QChar
或字符类型。此方法通常用于在解析文件时方便地处理输入,与字符编码和行尾语义无关。要跳过空格,请调用skipWhiteSpace(
)。
属性
属性可以使用不支持反射,不能使用setProperty()
函数来动态改变。
类型 | 属性名 | 描述 |
---|---|---|
枚举 | FieldAlignment | 字段对齐的方式 |
枚举 | NumberFlag | 输出数字类型的精度 |
枚举 | RealNumberNotation | 指定将float和double表示为字符串时使用的表示法 |
枚举 | Status | 描述文本流的当前状态 |