Dzielenie stringa na podstawie znaku

Dzielenie stringa na podstawie znaku
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, mam pewien problem i nie wiem z której strony go ugryźć. Ponieważ program gdy wybiorę plik, który znajduje się w tym samym katalogu co .exe to i tak dostaję pełną ścieżkę czyli C:/ itd. a chce wyciągnąć tylko to co znajduje się po osatnim .

Czyli np:
C:\Documents and Settings\Uzytkownik\Moje Dokumenty\tekst.txt

I chciałbym mieć tylko tekst.txt. Oczywiście nie proszę o gotowca, tylko pomysł na rozwiązanie. Myślałem o napisaniu funkcji w której podaje się stringa i char'a względem którego ma dzielić, potem alokuje się pamięć na stringi, których będzie tyle co wystąpień danego znaku w napisie i potem zapisywanie do tych stringów już tych podzielonych części. Pewnie da się prościej, dlatego piszę.

TK
  • Rejestracja: dni
  • Ostatnio: dni
1

W nazwie pliku oraz katalogu pod Windowsem nie możesz użyć znaku '', więc problemu nie ma żadnego z rozdzieleniem. Mniej więcej może to tak wyglądać:

Kopiuj
string path = "C:\\Documents and Settings\\user\\Pulpit\\pliczek.txt";
string tail = path.substr(path.rfind('\\')+1);
printf("%s\n", tail.c_str());
  • Rejestracja: dni
  • Ostatnio: dni
0

Kurde, właśnie jak wcześniej czytałem o std::string to nie znalazłem tej metody co znajduje od końca. Ale dzięki wszystko działa idealnie.

Dzięki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.