qt中文件读取的方法(新手入门必看)

TxT文本文件读取

qt中三个常用的处理文件的头文件:
QDataStream
QTextStream
QFile

txt文件读取(以字符数组形式读取)

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QFile file(":/1/map.txt");//与文件建立联系
    if(!file.exists())//判断是否建立成功
    {

        QString str = "world";
        qDebug()<<"hello "<<str<<"!"<<endl;

    }
    else
    {
          this->showMaximized();//成功则窗口会最大化,这只是我用检测的方法
    }

if(file.open(QIODevice::ReadOnly|QIODevice::Text))//打开文件,以只读的方式打开文本文件
{
           qint32 n=file.readLine(*map,sizeof(map));//qint32 相当于c++中的int
           //因为readline函数读取文件内容成功的话就会返回文件的字节数,如果失败就会返回-1
           if(n!=-1){
               qDebug()<<"长度:"<<n
                      <<"内容:"<<map[2][2]
                     <<endl;
           }
           file.close();
       }
       else{
           qDebug()<<file.errorString();
           }
}

txt文件写入

   QFile file1("data1.txt");
    if(file1.open(QIODevice::WriteOnly|QIODevice::Truncate)){
        QDataStream out(&file1);
 
        out<<QString("周杰伦")
           <<QDate::fromString("1979-01-18","yyyy-MM-dd")//将日期格式化
        <<(qint32)41;
        file1.close();
 
    }else{
        qDebug()<<file1.errorString()<<endl;
    }

txt文件读取(第二种方式以数据流读取)

file1.setFileName("data1.txt");
    if(file1.open(QIODevice::ReadOnly)){
        //第二种方式就是一数据流读取文件内容
        QDataStream in(&file1);
        QString name;
        QDate birthday;
        qint32 age;
        in>>name>>birthday>>age;
        qDebug()<<name<<birthday<<age;
        file1.close();
 
    }else{
        qDebug()<<file1.errorString();
    }

参考博文

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落春只在无意间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值