Narzędzia użytkownika

Narzędzia witryny


filesystem

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
filesystem [2008/04/16 23:05]
michal.wasiak
filesystem [2008/04/16 23:31] (aktualna)
michal.wasiak
Linia 1: Linia 1:
 ====== Biblioteka boost::​filesystem ====== ====== Biblioteka boost::​filesystem ======
  
-__wersja robocza__+**Michał Wasiak, //​G1ISI//​** 
 ===== Wstęp ===== ===== Wstęp =====
 Biblioteka boost::​filesystem wprowadza przenośne udogodnienia w zarządzaniu ścieżkami dostępu do katalogów i plików. ​ Biblioteka boost::​filesystem wprowadza przenośne udogodnienia w zarządzaniu ścieżkami dostępu do katalogów i plików. ​
Linia 65: Linia 66:
 Funkcja najpierw sprawdza czy podana ścieżka w //​path_dir//​ istnieje i jest katalogiem. Później tworzy obiekt //​directory_iterator//​ podając ściężkę do konstruktora. Pętla iteruje po wszystkich elementach katalogu i dla każdego napotkanego podkatalogu wywołuje rekursywnie funkcję szukającą. Każdy rozpoznany plik jest porównywany co do nazwy z paramatrem //​file_name//​ i jeśli znaleziony zostanie plik o podanej nazwie to do //​path_found//​ kopiowana jest scieżka do tego pliku i zwracana jest wartość '​true'​. Jeśli nic nie zostanie znalezione to zwrcana jest wartość '​false'​. Funkcja najpierw sprawdza czy podana ścieżka w //​path_dir//​ istnieje i jest katalogiem. Później tworzy obiekt //​directory_iterator//​ podając ściężkę do konstruktora. Pętla iteruje po wszystkich elementach katalogu i dla każdego napotkanego podkatalogu wywołuje rekursywnie funkcję szukającą. Każdy rozpoznany plik jest porównywany co do nazwy z paramatrem //​file_name//​ i jeśli znaleziony zostanie plik o podanej nazwie to do //​path_found//​ kopiowana jest scieżka do tego pliku i zwracana jest wartość '​true'​. Jeśli nic nie zostanie znalezione to zwrcana jest wartość '​false'​.
  
-===== Gramatyka? ​=====+ 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== Formaty ścieżek ​===== 
 +Są dwa formaty łańcuchów opisujących ścieżkę dostępu: 
 +  * Przenośny format opisany przez POSIX; 
 +  * Natywny format ścieżki dostępu definiowany przez system operacyjny. Przykłady:​\\ //​OpenVMS://​ ''"​SYS1::​DISK1:​[DANE.FILMY]"''​\\ //​Windows://​ ''"​c:​\dane\filmy"''​ 
  
  
Linia 105: Linia 117:
 template <class Path> typename Path::​string_type extension(const Path & p); template <class Path> typename Path::​string_type extension(const Path & p);
 </​code>​ </​code>​
-Funkcja zwracająca rozszerzenie pliku. Jeśli ''​p.leaf()''​ zawiera kropkę, to funkcja zwraca podciąg z ''​p.leaf()'' ​zaczynający się od ostatniej kropki aż do ostatniego znaku nazwy. W przeciwnym razie wypadku ​zwraca pusty łańcuch.+Funkcja zwracająca rozszerzenie pliku. Jeśli ''​p.leaf()''​ zawiera kropkę, to funkcja zwraca podciąg z ''​p.leaf()''​ od ostatniej kropki aż do ostatniego znaku nazwy. W przeciwnym razie zwraca pusty łańcuch.
 <code cpp> <code cpp>
 template <class Path> typename Path::​string_type basename(const Path & p); template <class Path> typename Path::​string_type basename(const Path & p);
 </​code>​ </​code>​
-Funkcja zwracająca nazwę pliku bez rozszerzenia. Jeśli ''​p.leaf()''​ zawiera kropkę, to funkcja zwraca podciąg z ''​p.leaf()'' ​zaczynający się od początku nazwy do ostatniej kropki (kropka nie jest zawarta). W przeciwnym wypadku zwraca ''​p.leaf()''​.<​code cpp>+Funkcja zwracająca nazwę pliku bez rozszerzenia. Jeśli ''​p.leaf()''​ zawiera kropkę, to funkcja zwraca podciąg z ''​p.leaf()''​ od początku nazwy do ostatniej kropki (kropka nie jest zawarta). W przeciwnym wypadku zwraca ''​p.leaf()''​. 
 +<code cpp>
 template <class Path> Path replace_extension(const Path & p, const typename Path::​string_type & new_extension);​ template <class Path> Path replace_extension(const Path & p, const typename Path::​string_type & new_extension);​
 </​code>​ </​code>​
filesystem.1208379952.txt.gz · ostatnio zmienione: 2008/04/16 23:05 przez michal.wasiak