现在我正在为一套用于生物信息学的控制台应用程序开发一个 GUI,并且我正在做我的第一个测试,作为我使用 Qt 的第一个项目。我正在使用 QtDesigner 制作 GUI,除了 QFileDialog 将文件名的结尾转换为一个奇怪的字符之外,一切都运行良好,尽管我不确定它是 QFileDialog,还是从QString 转换为const char。
这是我的代码:
QString file=QFileDialog::getOpenFileName(this, tr("Open File"),"/home/",tr("Any file (*.*)"));
QString fastqdumpDir = "/home/nsg/Downloads/sratoolkit.2.1.16-centos_linux32/bin/"
fastqdumpDir=fastqdumpDir+"./fastq-dump ";
QString cmdStr =fastqdumpDir + file;
const char* command = cmdStr.toStdString().c_str();
system(command);
fastq-dump程序结束,因为它说文件名不正确,调试后,我看到文件名从/home/nsg/Downloads/SRR502947.sra变成了/home/nsg/Downloads/SRR502947.sra[ ]有时甚至/home/nsg/Downloads/SRR5029[]
任何想法为什么会发生这种情况或如何解决它?