获得QString的一部分

bhu*_*der 2 c++ qstring qt indexof

我如何获得价值"Recording.mp3"从这个QString

C:/Users/Admin/AppData/Local/Temp/AudelloTemp/Recording.mp3
Run Code Online (Sandbox Code Playgroud)

如果我使用lastIndexof('/')函数,则它向后搜索最后一次出现

如果我使用indexof('/')函数,那么它会向前搜索第一次出现.

我没有办法得到它.

或者是使用循环获取该值的唯一方法?

Rei*_*ica 7

看到它是一个文件路径,你正在寻找文件名,正确的方法是这样的:

// 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"
Run Code Online (Sandbox Code Playgroud)

尽管如此,要回答你的问题,使用的QString成员函数将是lastIndexOf().你误读了文档:它没有"向后搜索最后一次出现",它"查找字符串中的最后一次出现,通过向后搜索来完成".所以你的情况,它的确会返回/分离AudelloTemp距离Recording.mp3.