Ошибка в ofStream, Qt 5.14.2 не удается записать строку в файл

#c #string #qt #mingw #ofstream

#c #строка #qt #mingw #ofstream

Вопрос:

Я пытаюсь написать свою программу из VS (MVC) для Qt (MinGb) Я использую ofstream и имеет следующий код:

 #include <fstream>
#include <string>
#include <iostream>
#include <exception>
using namespace std;
void WriteToFile(ofstream* fileToWrite, std::string StringNeedsToWrite)
{
    if (fileToWrite)
    {
        if (IsStartOfNewString(StringNeedsToWrite))
        {
            *fileToWrite << 'n';
        }
        *fileToWrite << StringNeedsToWrite;     
    }
    else
    {
        throw exception();
    }
}
  

Я хочу записать строку в файл и установить ofstream в свой метод.
Но у меня странная ошибка, и я не знаю, как ее исправить (на изображении)

Ошибка в изображении

Комментарии:

1. Вы пытались передать в свой метод указатель на файл и создать поток внутри своего метода?

2. @bogdyname Пожалуйста, используйте английский язык, который является официальным языком SO.

3. @AndrewPilikin Пожалуйста, используйте английский язык, который является официальным языком SO.

Ответ №1:

Они различаются по своим файлам создания и файлам проекта. Распространенная проблема заключается в том, что перемещение проекта из одной среды в другую влечет за собой большие ошибки. Например, в MinGW под Linux нет стандартных потоков, но они есть windows.h .

Такие проблемы следует учитывать и изучать на этапе разработки архитектуры программы и выбора технологий для разработки.

Частая практика показала, что Qt лучше всего использовать с вашей IDE и, по возможности, использовать ее классы для разработки.