我想将此文件浏览器加载的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 alive 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();
}
答案 0 :(得分:4)
myChooser.getResult
会返回juce::File
个对象。您需要从该文件对象中读取。如果fileLoadToString
的类型为juce::String
,则可以写:
File theTextFile(myChooser.getResult());
fileLoadToString = theTextFile.readFileAsString();
如果是不同的类型,则必须转换readFileAsString
的结果。