美文网首页
QT学习笔记——文件

QT学习笔记——文件

作者: Cyfeng | 来源:发表于2020-03-11 18:18 被阅读0次

文件读写和保存

1.获取文件路径及名字

#include <QFileDialog>

void MainWindow::on_pushButton_clicked()
{
    QString dialog[3],name[4];
    QStringList split[3];
    QFileDialog add_file_dialog;
    add_file_dialog.setFileMode(QFileDialog::ExistingFiles);
    QStringList filename=add_file_dialog.getOpenFileNames(
                this, tr("open txt"),".", tr("select(*.txt)"));
    int i=0;
    for(auto temp:filename){
        dialog[i]=temp;
        split[i] = dialog[i].split("/");
        name[i] = split[i].last();
        i++;
    }
    name[3] = QString("%1,%2,%3").arg(name[0]).arg(name[1]).arg(name[2]);
    ui->label->setText(name[3]);
}

2.生成唯一的文件名

QString saveName;//保存名字
QString savePath;
QString filePath;//存储保存路径
QDateTime time = QDateTime::currentDateTime();//获取系统现在的时间
QString str = time.toString("mm:ss-yyyyMMdd"); //设置显示格式

filePath = QFileDialog::getExistingDirectory(this,"");//获取文件夹路径
if(!filePath.isEmpty())
{
                saveName="savename";
                savePath=QString("%1/%2-%3.txt").arg(filePath).arg(saveName).arg(str);
                const std::string save = savePath.toStdString();
                //save api or write api
}

3.写入
.csv文件

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    ofstream oFile;
    oFile.open("test.csv",ios::out|ios::trunc);
    oFile<<"属性1"<<","<<"属性2"<<","<<"结果1"<<","<<"结果2"<<endl;
    oFile<<"010101"<<","<<"1 2 3"<<","<<"32.2 112.3;23.12 23.22;23.14 23.45"<<","<<"1"<<endl;
    oFile.close();
}

.xls文件

    QFile data("d:/test.xls");  
    if(!data.open(QFile::WriteOnly | QFile::Truncate))   
    {  
        return false;  
    }  
    QTextStream out(&data);  
    QString tt1=QString::fromLocal8Bit("外国");  
    QString tt2=QString::fromLocal8Bit("人文关怀");  
    out<<tt1<<"\t"<<tt2<<"\t"<<"\n"; //每个单元格以\t分隔,每行以\n分隔  
    out<<"25\t"<<"26\t";  
    data.close();  

相关文章

网友评论

      本文标题:QT学习笔记——文件

      本文链接:https://www.haomeiwen.com/subject/dnfodctx.html