2015-01-29 3 views
-1

Я экспортирую данные в текстовый файл в qt каждый раз при запуске кода. С моим текущим кодом этот файл перезаписывается каждый раз. Мой вопрос заключается в том, как установить заголовок как переменную, например pulse_freq, таким образом будут созданы новые файлы на основе моих значений переменных. Я просто не могу получить синтаксис правильно.Настройка имени текстового файла переменной в qt

Есть ли способ разместить мои файлы в папке в том же каталоге, что и мои файлы сборки? Мне нужно, чтобы мой код был кросс-платформой, и если я использую полное имя пути, это, по-видимому, несовместимо с любой операционной системой, отличной от 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); 

ответ

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; 

Чтобы не возиться с добавлением string после расширения, просто отделите его на другой QString и соедините эти 3 элемента, как указано выше (папка + файл + расширение).

+0

Я пробовал этот метод раньше, но созданный файл длиннее .txt-файла. Расширение изменяется на TXT (значение переменной) – Duanne

+0

@Duanne - см. Мой отредактированный ответ – pkrysiak

+0

Спасибо, расширение работает, хорошая идея. Однако, когда я использую метод текущего пути, текстовый файл не отображается в папке сборки или пути к проекту. – Duanne

Смежные вопросы