Есть строка string path = "hdjaksj/hwuiquwd/dsdghsdjh/wtyqwueyq22.exe". Задача состоит в том, чтобы выделить из этой строки имя файла (wtyqwueyq22.exe). То есть провести поиск от конца строки до первого слэша, и занести этот кусок (wtyqwueyq22.exe) в отдельную новую string. Какой функцией это делается?
dir.h - это наверно только в каком - нить виндовом компиляторе. Я юзаю g++, и там нет такого хедера. Нельзя как нить попроще через функцию, обрабатывающую строки?
Только "слеш" наверное два раза должен быть если мы о С++ говорим Код (Text): string path = "hdjaksj//hwuiquwd//dsdghsdjh//wtyqwueyq22.exe". В рамках поставленного вопроса можно использовать и функцию Код (Text): <string.h> char *strrchr(const char *string, int c); Возвращает указатель на последнее вхождение символа c в строку string, если символ не найден - NULL. Думаю это чуть быстрее будет, но предложение crypto более универсальное.
Смотрите: 2 слэша необязательны. У меня const char *string должно быть string. Ну а как я скопирую в другой string кусок от того места, на которое мне укажет strrchr, до конца строки?
все, разобрался, спасибо. Буду юзать string s = path.substr(path.find_last_of('/'+1)); +1 надо чтобы в имени файла не было начального слэша