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.
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
Poniżej jest kod programu służącego do wyszukiwania plików na dysku.
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);
}
Po wpisaniu np. plik.txt program wyszukuje wszystkie pliki o tej nazwie i wyświetla ich ścieżki.
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