Странные символы в начале .txt файла при записи

При получении данных, я их вывожу в несколько QLineEdit - data1, data2...data 8. Затем, я всё это записываю в

QVector<QString> vec;

QString sum = ui->data1->text() + " " + ui->data2->text() + " " + ui->data3->text() + " " + ui->data4->text() + " " 
        + ui->data5->text() + " " + ui->data6->text() + " " + ui->data7->text() + " " +ui->data8->text() + '\n';
vec.append(sum);

Получившиеся значения мне нужно записывать в .txt файл. Делаю я это следующим образом:

void MainWindow::on_saveBtn_clicked()
{
    QString fileName = QFileDialog::getSaveFileName(this,
             tr("Сохранить результаты"), "",
             tr("Text (*.txt);;All Files (*)"));
    if (fileName.isEmpty())
             return;
         else {
             QFile file(fileName);
             if (!file.open(QIODevice::WriteOnly)) {
                 QMessageBox::information(this, tr("Unable to open file"),
                     file.errorString());
                 return;
             }
    QDataStream out(&file);
            out.setVersion(QDataStream::Qt_5_14);
            out << vec;
        }
 }

В файл данный записываются, но в начале первой строки появляются непонятные символы, а в последующих - пробелы в начале.введите сюда описание изображения

Вопрос состоит в том, как их убрать


Ответы (1 шт):

Автор решения: Maxim

Для записи текстовых данных необходимо использовать QTextStream

void MainWindow::on_saveBtn_clicked()
{
    QString fileName = QFileDialog::getSaveFileName(this,
             tr("Сохранить результаты"), "",
             tr("Text (*.txt);;All Files (*)"));
    if (fileName.isEmpty())
             return;
         else {
             QFile file(fileName);
             if (!file.open(QIODevice::WriteOnly)) {
                 QMessageBox::information(this, tr("Unable to open file"),
                     file.errorString());
                 return;
             }
             QTextStream out(&file);
             std::for_each(std::begin(vec), std::end(vec), [&out](auto i) { out << i; });
        }
 }
→ Ссылка