我如何从这个 QString
中获取值 "Recording.mp3"
C:/Users/Admin/AppData/Local/Temp/AudelloTemp/Recording.mp3
如果我使用 lastIndexof('/')
函数,那么它会向后搜索最后一次出现的地方
如果我使用 indexof('/')
函数,它会向前搜索第一次出现的地方。
我没有办法得到它。
或者是使用循环获取该值的唯一方法?
最佳答案
鉴于它是一个文件路径,而您正在寻找文件名,正确的方法是这样的:
// When you have this:
QString s("C:/Users/Admin/AppData/Local/Temp/AudelloTemp/Recording.mp3");
// Do this:
QFileInfo f(s);
QString s1 = f.fileName();
// now s1 is "Recording.mp3"
不过,要按措辞回答您的问题,要使用的 QString
成员函数将是 lastIndexOf()
。您误读了文档:它不会“向后搜索最后一次出现”,它“通过向后搜索来查找字符串中的最后一次出现”。因此,在您的情况下,它确实会返回 /
将 AudelloTemp
与 Recording.mp3
分开。
关于c++ - 获取 QString 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21278294/