Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Otwieranie plików


Rekomendowane odpowiedzi

Opublikowano

Witam, czy istnieje jakiś sposób, by otworzyć jako pliki binarne, nie znając nazw, wszystkie pliki które znajdują się w folderze z programem?

@edit: Na razie poczytam trochę o listowaniu plików z pomocą biblioteki dirent.h, ale inne propozycje będą mile widziane :)

Opublikowano

W oparciu o bibliotekę dirent.h napisałem program który zapisuje do pliku "pliki.dat" listę plików oraz wyczytuje i wyświetla te pliki, lecz wykrywa mi tylko "program.exe" a w tym folderze są jescze pliki "program.cpp" i "pliki.dat". Wiem że to źle wygląda, później porobie ładnie w funkcjach...
Od razu zauważę, że nie muszę dopisywać return 0; w main() bo dev-c++ sam dopisuje mi tą linijkę.

#include <iostream>
#include <fstream>
#include <dirent.h>

using namespace std;

void ListujPliki( const char * nazwa_sciezki ) 
{
    struct dirent * plik;
    DIR * sciezka;
    
    if(( sciezka = opendir( nazwa_sciezki ) ) ) 
	{
        while(( plik = readdir( sciezka ) ) )
        {
             ofstream pliczek("pliki.dat");
             pliczek<<plik->d_name;
             pliczek.close();
		}
		closedir( sciezka );
    }
    else
        cout<<"ERR0R/n";
    
}

main()
{
	ListujPliki(".");
	ifstream pliczek("pliki.dat");
	string lol;
	pliczek>>lol;
	cout<<lol;	
}
Opublikowano

Za kazdym razem na nowo tworzysz plik "pliki.dat"
Musisz to dac przed petla

if(( sciezka = opendir( nazwa_sciezki ) ) ) 
    { 	
    ofstream pliczek("pliki.dat");
    while( plik = readdir( sciezka ) )	
    {
    pliczek<<plik->d_name<<"\n";
    //cout<<plik->d_name<<"\n"; 
    }
     
        closedir( sciezka );
	pliczek.close();
    }
    else	cout<<"ERR0R/n";

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...