QT学习笔记——文件

文件读写和保存

1.获取文件路径及名字

#include 

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 
#include 
#include 
using namespace std;
int main()
{
    ofstream oFile;
    oFile.open("test.csv",ios::out|ios::trunc);
    oFile<<"属性1"<<","<<"属性2"<<","<<"结果1"<<","<<"结果2"<

.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<

你可能感兴趣的:(QT学习笔记——文件)