将文本文件的名称设置为qt中的变量

时间:2015-01-29 11:08:49

标签: c++ qt datetime qfile qtextstream

每次运行代码时,我都会在qt中将数据导出到文本文件中。使用我当前的代码,每次都会覆盖该文件。我的问题是如何将标题设置为变量,例如pulse_freq,这样就可以根据我的变量值创建新文件。我只是无法正确使用语法。

有没有办法将我的文件放在与我的构建文件相同的目录中的文件夹中?我需要我的代码是跨平台的,如果我使用完整的路径名称,它显然与任何非Windows操作系统不兼容。如果我只是命名文件,那么文件夹中就会有太多混乱。相关代码如下:

// Export to data file
        QString newname = QString::number(variables.nr_pulses);
        QString filename = "C:/Users/BIC User/Documents/BIC Placement Documents/QT_data/Data.txt";
        QFile file( filename );

1 个答案:

答案 0 :(得分:0)

你可以沿线使用:

QString s1 = "something";
QString s2 = " else";
QString s3 = s1 + s2;
与重载QString

operator+串联就像魅力一样。

关于引用您所在的文件夹,而不是硬编码其路径,请使用QDir::currentPath()

因此,您的filename创建应如下所示:

QString folder = QDir::currentPath();
QString file = QString::number(variables.nr_pulses); //or whatever else you want it to be
QString extension = ".txt" // or whatever extension you want it to be

QString full_filename = folder + file + extension;

为了不在扩展后混淆附加字符串,只需将其分成另一个QString并连接上面的3个元素(文件夹+文件+扩展名)。