Witam, mam do Was dwie prośby/pytania. Mianowicie:
Poniżej jest kod programu służącego do wyszukiwania plików na dysku.
Po wpisaniu np. plik.txt program wyszukuje wszystkie pliki o tej nazwie i wyświetla ich ścieżki.Kod:#include <iostream> #include <string> #include <sys/stat.h> #include <dirent.h> using namespace std; void WyszukajIWypisz(const string& szukaj, string scierzka, ostream & wyjscie); int main(int argc, char *argv[]) { char start[4] = "@:\\"; string wyszukanie; while (true) { clog<<"Wpisz nazwe obiektu, ktory ma zostac wyszukany na calym dysku\n" "twardym, lub wcisnij Ctrl + Z aby wprowadzic EOF\n->"; getline(cin, wyszukanie); if (!cin) break; for (*start = 'A'; *start <= 'Z'; ++*start) { WyszukajIWypisz(wyszukanie, start, cout); } clog<<"Wyszukanie zakonczone\n"<<endl; } return 0; } void WyszukajIWypisz(string const & szukaj, string scierzka, ostream & wyjscie) { DIR * fol; dirent * dir; if ((fol = opendir(scierzka.c_str())) == NULL) return; string temp; struct stat info; while((dir = readdir(fol)) != NULL) { temp = dir->d_name; if (temp == "." || temp == "..") continue; if (stat((scierzka + temp).c_str(), &info) != 0) continue; if (S_ISDIR(info.st_mode)) WyszukajIWypisz(szukaj, scierzka + temp + '\\', wyjscie); if (temp.find(szukaj) != string::npos) wyjscie<<scierzka<<dir->d_name<<'\n'; } closedir(fol); }
PROBLEM #1:
Co zrobić aby wyświetlone ścieżki zostały zapisywane do osobnych zmiennych tudzież do tablicy tak abym mógł je później wykorzystać.
PROBLEM #2:
Powiedzmy że ścieżka do plik.txt wygląda następująco: C:\plik.txt, co zrobić żeby wszystkie backslash'e "\" w ścieżce zamieniły się na slash'e "/". (w sensie gdy już będę miał wyizolowane ścieżki z #1)
Nie musicie podawać gotowego rozwiązania może być sam pomysł chodź miło by było gdyby komuś chciało się napisać kompletne rozwiązania![]()


Odpowiedź z Cytatem