×

qt存取文本文件

qt存取文本文件(qt 文本文件读取)

admin admin 发表于2023-03-22 05:13:07 浏览54 评论0

抢沙发发表评论

本文目录一览:

qtmodel导出为文本文件

Qt对文件的创建、打开、写入、关闭都有自己的库函数,我们在使用的时候只要包含相应的头文件,就可以轻松的对文件进行操作了

//头文件:ExportToFile.h

#ifndef OUTPUTCSV_H

#define OUTPUTCSV_H

#include QDir

#include QTextStream

class ExportToFile

{

public:

OutputCSV();

bool exportToFile(const QString context, const QString fileName, const QString filePath);

private:

};

#endif // OUTPUTCSV_H

//源文件:ExportToFile.cpp

#include "OutputCSV.h"

OutputCSV::OutputCSV(QObject *parent) : QObject(parent)

{

}

/*导出数据流到相应路径下的文件中*/

bool OutputCSV::exportToFile(const QString context, const QString fileName, const QString filePath)

{

bool res = false;

QDir folder;

QFile file;

bool pathCheck = true;

if(!folder.exists(filePath)) {

pathCheck = folder.mkpath(filePath);

}

if(pathCheck) {

QString fileUrl = filePath + "/" + fileName;

file.setFileName(fileUrl);

file.open(QIODevice::ReadWrite);

if(file.isOpen()) {

QTextStream out(file);

if(file.size() 0) {

if(file.resize(0)) {

out context;

out.flush();

res = true;

}

} else {

out context;

out.flush();

res = true;

}

}

file.close();

}

return res;

}

QT读取文本文件

据我所知,QTextString这个类貌似是不存在的。倒是有个QTextStream类可以用来读取文本数据。

例如下面的函数可以读取小文本文件中的内容

void MainWindow::readFile(const QString fpath)

{

if(fpath.isEmpty())

return;

QFile file(fpath);

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

{

qDebug()"Open file failure!";

return;

}

QTextStream fs(file);

QString fileContent (fs.readAll());

qDebug()"The content of file is \n"fileContent;

}

你需要确保你将正确的文件路径传递给了该函数,否则会导致打开文件失败。

各位大侠怎么用Qt读取文本文件的指定行

逐行读取

QFile file("/home/administrator/testdir/test.txt");    

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

    qDebug()"Can't open the file!"endl;    

}    

while(!file.atEnd()) {    

    QByteArray line = file.readLine();    

    QString str(line);    

    qDebug() str;    

}

qt编程:知不知道怎么从各文本框里提取文本,按照我规定的格式组装文本,把文本存到文件里

1、文本框中提取文本,lineEdit-text()

2、组装文本使用QString类的函数。

3、保存到文件中使用QFile类,例如:

QFile file(strFilePath);

if (!file.open(QIODevice::WriteOnly))

{

return false;

}

//关联文件流并保存

QTextStream out(file);

for (int i=0; im_systemParam.m_nLevelCount; i++)

{

out "Level" i+1 ":" '\t';

out QString::number(m_levelVoltages[i].m_dSetPressure, 'f', 2) '\t';

out QString::number(m_levelVoltages[i].m_dAbsoluteError, 'f', 2) '\t';

out QString::number(m_levelVoltages[i].m_dFactPressure, 'f', 2) '\t';

out QString::number(m_levelVoltages[i].m_bIsOutErrorRange, 'f', 2) '\n';

}

file.close();

return true;