QTextStream

写操作:
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QtDebug>
#include <QTextStream>
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    QFile file("test.txt");
    //---参数:QFile::Truncate表示的是 将原文件内容清空,
    //--以WriteOnly方式打开文件,如果在工程文件下没有该txt文件,那么程序将创建该文件,若存在,则将原文件内容清空,
    if (file.open(QFile::WriteOnly | QFile :: Truncate))        
    {
        //---创建 QTextStream流操作对象, 使与QFile对象file绑定。
        QTextStream out(&file); 
        //----设置输出格式为: 居中,这里格式还可以设置为:right/left。 占10个字符;
        out << "socre:" << qSetFieldWidth(10) << center << 90 << endl;
    }
    else
    {
        qDebug() << "open file failed";
    }
    file.close();        //---关闭文件~~~~~~
 
    //-----输出提示信息
    qDebug() << "\1   writing data  succesful   \1" << endl;
    
    return a.exec();
}
程序运行结果:


QTextStream提供的格式化函数:

QTextStreamManipulator qSetFieldWidth(int width)   ------设置字段宽度

QTextStreamManipulator qSetPadChar(QChar ch)    ------设置填充字符

QTextStreamManipulator qSetRealNumberPrecision(int precision)  -----设置实数精度

读操作:

QFile file("file.txt");

if (!file.open(QIODevice::ReadOnly | QIODevice::Text))

return 0;

QTextStream in(&file);

1.QString QTextStream::read ( qint64 maxlen )

  读取txt文件maxlen个字符

  QString line1= in.read(1); //读取一个字符

  QString line2= in.read(1); //自动读取下一个字符

  qDebug()<<line1;

  qDebug()<<line2;

QString line1= in.read(20); //读取20个字符,归为一个字符串

2.QString QTextStream::readLine ( qint64 maxlen = 0 )

  QString line1= in.readLine(0); //读取第0行文档

  QString line2= in.readLine(5); //读取第0行5个文档

  qDebug()<<line1;

  qDebug()<<line2;

  QString line1= in.readLine(); //读取第0行文档

  QString line2= in.readLine(); //自动读取第1行文档

  qDebug()<<line1;

  qDebug()<<line2;

3.QString QTextStream::readAll ()   

 QString line1= in.readAll(); //读取全部txt文档,并归为一个字符串

4.bool QTextStream::seek ( qint64 pos )

  bool a=in.seek(6);  //定位文本中的第6个位置

 QString line2= in.read(1) ;  //读取该位的1字符

 qDebug()<<line2;

 5.读取txt全部内容的方法

/******************************************

两种方法读取txt文档

*****************************************/

/* while (!in.atEnd()) {

QString line = in.readLine();

qDebug()<<line;

}

QString line3=in.readLine();

while(!line3.isNull())

{

qDebug()<<line3;

line3=in.readLine();

}*/

猜你喜欢

转载自blog.csdn.net/weixin_43542624/article/details/85240095