我想将此文件浏览器加载的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;
}
这是发生“没有可行的过载=”错误消息的地方。如何以正确的方式转换?
在主要过程中,我想将字符串加载到流中以进行标记和进一步分析。
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();
}
最佳答案
myChooser.getResult
返回一个juce::File
对象。您需要从该文件对象读取。如果fileLoadToString
是juce::String
类型,则可以这样写:
File theTextFile(myChooser.getResult());
fileLoadToString = theTextFile.readFileAsString();
如果它是其他类型,则必须转换
readFileAsString
的结果。