[Prośba} Konwersja kodu praw dostępu w linuxie język C

Programowanie w języku C i językach pochodnych, jak C++, C#
dandi13
Posty: 1
Rejestracja: 18 lis 2012, 18:16

[Prośba} Konwersja kodu praw dostępu w linuxie język C

Post autor: dandi13 » 18 lis 2012, 18:44

Witam!
Jak w temacie muszę napisać program konwertujący zapis praw dostępu w linuxie z tekstowego na liczbowy i odwrotnie.
W linuxie nadajemy prawa do pliku lub katalogu dla 3 grup użytkowników, i zapisujemy je w 3 blokach po 3 znaki razem 9 znaków.
W systemie liczbowym będą to tylko 3 liczby.
Mamy następująće prawa:
r-read prawo odczytu
w-write prawo zapisu
x- execute prawo do wykonania
zapis praw wygląda następująco:
rwx rwx rwx ; -wx -wx -wx ; r-x --x rw- kilka przykładów
Pierwsze trzy znaki są to prawa usera.
Drugi blok znaków są to prawa grupy userów
I ostatni blok są to prawa dla wszystkich użytkowników
Wszystkim prawom odpowiadają liczby które teraz wypisze
0: --- // żadnych praw nie nadajemy
1: --x // prawo wykonania
2: -w- // prawo zapisu
3: -wx // prawo zapisu i wykonania
4: r-- // prawo odczytu
5 r-x // prawo odczytu i wykonania
6 rw- // prawo odczytu i zapisu
7 rwx // prawo zapisu,odczytu i wykonania
Kod liczbowy składa się z trzech cyfr z czego każda cyfra odpowiada jednemu blokowi znaków w zapisie literowym.
Teraz kilka przykładów:
1) wprowadzamy kod prawa np. rwx rwx rwx
Program zwraca liczbę : 777

2) Wprowadzamy np r-- -w- --x
Program zwraca 421

3) wprowadzamy liczbę np 123
Program zwraca --x -w- -wx

Myślę że dobrze wyjaśniłem o co chodzi i co program ma robić.
Proszę o pomoc a w sumie to o napisanie kodu takiego programu ponieważ sam nie mam o tym zielonego pojęcia.
Dopiero zaczynam przygodę z programowaniem na studiach, a wcześniej nie miałem styczności z tą dziedziną informatyki.
Mówimy oczywiście o języku C#
Bardzo proszę o pomoc i wyrozumiałość i z góry dziękuję
Pozdrawiam