Treść #
Napisz program, który przyjmuje następujące parametry wykonania:
-p
ścieżka do katalogu (dowolna ilość wystąpień)
wskazujemy katalogi które będą przetwarzane przez program-o
nazwa pliku (maksymalnie jedno wystąpienie)
nazwa pliku do którego będą wpisywane wyniki, w razie braku tego parametru wyniki są wypisywane na stdout
Dla każdej podanej ścieżki program ma utworzyć listing katalogu w pliku (lub na stdout), przykładowo:
SCIEZKA:
./katalogA
LISTA PLIKÓW:
test.txt 12345
dane.dat 15
Liczby przy plikach oznaczają rozmiary plików. Listujemy wszystkie obiekty w katalogu, nie tylko pliki.
Etapy #
- Program robi listing tylko dla katalogu roboczego, bez rozmiarów. Wyniki są wypisywane na stdout. Jak pokazać: uruchomić program bez parametrów
- Dodajemy rozmiary obiektów. Jak pokazać: uruchomić program bez parametrów
- Program rozpoznaje parametr
-p
(inne ignoruje) i dla każdej ścieżki wypisuje ma stdout listing. Jak pokazać: uruchomić program z parametrami-p /run -p /var
- Program rozpoznaje parametr
-o
i jeśli on występuje wyniki są zapisywane do wskazanego pliku. Jak pokazać: uruchomić program z parametrami-p /run -p /var -o \~/out.txt
następnie wykonać poleceniecat \~/out.txt
- Zaimplementuj alternatywną wersję etapu 4., tym razem używając niskopoziomowych funkcji
open
,close
iread
. - W przypadku podania nieobsługiwanych parametrów lub dodatkowych pozycyjnych parametrów program ma wypisać usage, w przypadku podania nieistniejącego katalogu lub katalogu do którego nie mamy dostępu program ma wypisać błąd na stderr ale kontynuować wypisywanie dla pozostałych parametrów. Podanie nadmiarowych -o ma prowadzić do błędu i wypisania usage. Jak pokazać: po jednym błędnym wywołaniu dla każdego typu błędu