QTextStream 读写文件

/***************************************
* QIODevice::ReadWrite 可读写
* QIODevice::Text 换行符生效
* QIODevice::Append 追加写入
* QFile::Truncate 表示将原文件清空
****************************************/
void MainWindow::test()
{

ifdef QTextStream_read

QFile file("e:\\file.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){
    qDebug()<<"open fail!";
    return;
}
QTextStream in(&file);
//    QString line1= in.read(1); //读取第一个字符
//    qDebug()<<line1;
//    line1= in.read(10); //自动读取下10个字符
//    qDebug()<<line1;
QString line1= in.readLine(0); //读取第1行
QString line2= in.readLine(2); //读取下1行前2个字符
qDebug()<<line1;
qDebug()<<line2;
QString line1= in.readAll(); //读取全部txt文档,并归为一个字符串

bool a=in.seek(6);  //定位文本中的第6个位置
QString line2= in.read(1) ;  //读取该位的1字符
qDebug()<<line2;
//按行读取
while (!in.atEnd()) {
    QString line = in.readLine();
    qDebug()<<line;

}

else

QString LogFile;
QString runPath = QCoreApplication::applicationDirPath();       //
LogFile.clear();
LogFile.append(tr("%1/LogFile_%2.txt").arg(runPath).arg(QDate::currentDate().toString("yyyyMMdd")));


QFile file(LogFile);//"e:\\file.txt"
if (!file.open(QIODevice::WriteOnly | QIODevice::Text |QIODevice::Append)){
    qDebug()<<"open fail!";
    return;
}
QTextStream out(&file);
out<<"test"<<endl;
out<<"456";
out.flush();
file.close();

endif

}

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值