Zmienna nazwa katalogu do otwarcia pliku.

0

Mam funkcje, która listuje zawartość katalogu. Jednak działa ona na katalogu domyślnym dla projektu, a ja chciałbym przez argument przekazywać do niej nazwe katalogu którą ja sobie wybiore, jak to zrobić?

int przeszukaj_katalog(string & nazwa_katalogu)
{
		_finddata_t danePliku;
		long uchwyt = _findfirst("*.txt", &danePliku); 
                // long uchwyt = _findfirst(nazwa_katalogu\"*.txt", &danePliku); wiem że to źle, ale idea mniej wiecej o co chodzi
		do
		{
			_findnext(uchwyt, &danePliku);
			cout << "\n" << danePliku.name;
		} while (_findnext(uchwyt, &danePliku) == 0);
		_findclose(uchwyt);
		cout << endl << cena << endl;
		return 0;
	
	}

ogólnie nawet przy zwykłym odczycie pliku, jak moge użyć zmiennej nazwy katalogu?

0

nazwa_katalogu + "\\*.txt"?

0

dobra, działa, ale mam kolejny problem.

jak przekształcić ciało tej funkcji, tak bym nie musiał dwa razy pisać tej samej linijki cout?

bo kod:

int przeszukaj_katalog(string & nazwa_katalogu)
{
        _finddata_t danePliku;
         long uchwyt = _findfirst(c, &danePliku);
        do
        {
            _findnext(uchwyt, &danePliku);
            cout << "\n" << danePliku.name;
        } while (_findnext(uchwyt, &danePliku) == 0);
        _findclose(uchwyt);
        cout << endl << cena << endl;
        return 0;
 
    }

nie wyświetla mi "findfirst"

natomiast tutaj musze własnie dwa razy wywoływać cout, by wyświetlić pierwszy znaleziony wynik czyli danePliku.name

int przeszukaj_katalog(string & nazwa_katalogu)
{
        _finddata_t danePliku;
         long uchwyt = _findfirst(c, &danePliku); 
         cout << "\n" << danePliku.name; // tutaj dodatkowy cout, by  wyswietlic FIRST 
        do
        {
            _findnext(uchwyt, &danePliku); 
            cout << "\n" << danePliku.name; // tu wyswietla kolejne
        } while (_findnext(uchwyt, &danePliku) == 0);
        _findclose(uchwyt);
        cout << endl << cena << endl;
        return 0;
 
    }


1
int przeszukaj_katalog(string &nazwa_katalogu)
  {
   _finddata_t danePliku;
   long uchwyt=_findfirst(c,&danePliku);
   for(int i=0;!i;i=_findnext(uchwyt, &danePliku)) cout<<danePliku.name<<endl;
   _findclose(uchwyt);
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1