Как я могу получить ценность "Recording.mp3"
из этого QString
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
,
Как насчет:
QString filename_only(const QString& path)
{
int index = path.lastIndexOf('/'); // check validity
return path.right(path.size() - index); // Might be off by one, feel free to fix
}
У меня сейчас нет Qt, так что, пожалуйста, проверьте, не включен ли я.