[c1] Flagi trybu dostępu do plików
Data zakończenia: 2024-04-19 14:00
Języki:
c
Limit czasu: 1.0 s
Limit pamięci: 5 MB
Cel
Zadanie na użycie operatorów bitowych oraz na przypomnienie wiadomości dotyczących trybu dostępu do plików.
Problem
Podczas otwierania pliku (np. używając metody open()) w argumencie przekazującym flagi należy ustawić dokładniej jedną trzech z 2-bitowych flag trybu dostępu O_RDONLY (o wartości 0), O_WRONLY (o wartości 1) lub O_RDWR (o wartości 2) oraz dowolną ilość 1-bitowych flag (np. O_CLOEXEC, O_CREAT, O_DIRECTORY, O_EXCL, O_NOCTTY, O_NOFOLLOW, O_TMPFILE, and O_TRUNC).
W zadaniu należy ustalić użyty tryb dostępu do otwieranego pliku na podstawie wartości będącej złożeniem wszystkich flag.
Zadanie
Napisz program który wczyta najpierw liczbę całkowitą n będącą liczbą plików do sprawdzenia, a następnie wczyta n par składających się z
Na standardowe wyjście mają zostać wypisane w osobnych linijkach nazwy plików otwieranych w trybie "tylko do zapisu" (O_WRONLY).
Przykład
Wejście
Zadanie na użycie operatorów bitowych oraz na przypomnienie wiadomości dotyczących trybu dostępu do plików.
Problem
Podczas otwierania pliku (np. używając metody open()) w argumencie przekazującym flagi należy ustawić dokładniej jedną trzech z 2-bitowych flag trybu dostępu O_RDONLY (o wartości 0), O_WRONLY (o wartości 1) lub O_RDWR (o wartości 2) oraz dowolną ilość 1-bitowych flag (np. O_CLOEXEC, O_CREAT, O_DIRECTORY, O_EXCL, O_NOCTTY, O_NOFOLLOW, O_TMPFILE, and O_TRUNC).
W zadaniu należy ustalić użyty tryb dostępu do otwieranego pliku na podstawie wartości będącej złożeniem wszystkich flag.
Zadanie
Napisz program który wczyta najpierw liczbę całkowitą n będącą liczbą plików do sprawdzenia, a następnie wczyta n par składających się z
- liczby całkowitej p dziesietnym reprezentującej wartość będącą złożeniem wszystkich flag,
- łańcucha znaków s reprezentującego nazwę pliku (można założyć, że każda nazwa będzie miała nie więcej niż 100 znaków).
Na standardowe wyjście mają zostać wypisane w osobnych linijkach nazwy plików otwieranych w trybie "tylko do zapisu" (O_WRONLY).
Przykład
Wejście
5 193 plikA 0 plikB 66 plikC 139265 plikD 131072 plikEWyjście
plikA plikD