注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学习笔记

正确的方法如同学习书法,开始的时候要临摹,临摹好了然后创造自己的风格。

 
 
 

日志

 
 

[Qt笔记]QFile的用法  

2012-01-18 16:58:55|  分类: QT |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       类QFile提供了一个接口用来对文件进行读/写。QFile是一个I/O设备,可以用来读/写文本,二进制和资源文件。一个QFile文件可以被自己调用,但更常用的是使用QTextStream或QDataStream。
       类QTextStream提供了一个方便的接口,用来对文本进行读/写。QTextStream能够操作QIODevice,QByteArray和QString。使用QTextSream的流操作符,你可以很方便地读/写多个文字,多行文字和多个数字。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是本地敏感的,可以使用正确的编码自动地编码标准输入。例如:
 QTextStream stream(stdin);
 QString line;
 do {
     line = stream.readLine();
 } while (!line.isNull());

       实例:
#include <QtCore>

void read(QString Filename)
{
    QFile data(Filename); //定义文件在当前目录
    if(!data.open(QFile::ReadOnly | QFile::Text))  //以只读和截断方式打开设备
    {
        qDebug() << "could not open file for reading";
        return;
    }
    QTextStream in(&data);
    QString mText = in.readAll();

    qDebug() << mText;

    data.flush(); //冲刷所有的缓冲数据到文件中
    data.close(); //关闭IO设备
}

void write(QString Filename)
{
    QFile data(Filename); //定义文件在当前目录
    if (!data.open(QFile::WriteOnly | QFile::Text)) //以只读和截断方式打开设备
    {
        qDebug() << "could not open file for writing";
        return;
    }
    QTextStream out(&data);
    out << "Hello, world! My name is fantity";

    data.flush(); //冲刷所有的缓冲数据到文件中
    data.close(); //关闭IO设备
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString mFilename= "output.txt";

    write(mFilename);
    read(mFilename);

    return a.exec();
}

  评论这张
 
阅读(7350)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017