Введите "Файл" для ввода "std::string"
Я хочу поместить содержимое txt-файла, загруженного этим файловым браузером, в строку fileLoadToString. Преобразование работает при использовании пути в кавычках.
FileChooser myChooser ("Please select the moose you want to load...",
File::getSpecialLocation (File::userHomeDirectory),
"*.txt");
if (myChooser.browseForFileToOpen())
{
File theTextFile (myChooser.getResult());
fileLoadToString = theTextFile;
}
Вот где появляется сообщение об ошибке "No viable overloaded =". Как правильно конвертировать?
В рамках основного процесса я хочу загрузить строку в поток для токенизации и дальнейшего анализа.
std::ifstream inf(fileLoadToString);
Любая помощь всегда очень ценится, спасибо.
File FileChooser::getResult() const
{
// if you've used a multiple-file select, you should use the getResults() method
// to retrieve all the files that were chosen.
jassert (results.size() <= 1);
return results.getFirst();
}
1 ответ
Решение
myChooser.getResult
возвращает juce::File
объект. Вам нужно прочитать из этого файлового объекта. Если fileLoadToString
имеет тип juce::String
Вы можете просто написать:
File theTextFile(myChooser.getResult());
fileLoadToString = theTextFile.readFileAsString();
Если это другой тип, вам придется преобразовать результат readFileAsString
,