Czy istnieje funkcja C, aby uzyskać uprawnienia do pliku?

Piszę program c, który ma być uruchamiany w systemie UNIX, i próbuję użyć polecenia chmod. Po zapoznaniu się ze stronami podręcznika, wiem, że chmod potrzebuje dwóch parametrów. pierwszy to bity uprawnień, drugi to plik do zmiany. Chcę pobrać bitowe OR bieżących bitów uprawnień i tych wprowadzonych przez użytkownika, a następnie przesłać do chmod (), aby zmienić uprawnienia pliku.

znalazłemaccess() funkcji, ale mam problem z ustaleniem, jak go użyć, aby uzyskać bity uprawnień określonego pliku.

Mam teraz:

octalPermissionString = strtol(argv[1], (char**)NULL, 8);
if(chmod(argv[2], octalPermissionString | (access(argv[2], octalPermissionString)) < 0) {
                    fprintf(stderr, "Permissions of file %s were not changed.\n");
                }

gdzie:

argv [1] zawiera ciąg trzycyfrowej liczby dziesiętnej wprowadzonej przez użytkownika, który ma zostać przekonwertowany na ósemkowy, a następnie użyty jako bity uprawnień do bitowego OR,

argv [2] to plik, w którym zmieniono swoje uprawnienia, również określone przez użytkownika.

octalPermissionString jest długa, aby pomieścić ósemkową konwersję danych wprowadzanych przez użytkownika.

Czy są / są jakieś inne funkcje, które mogą zwrócić bity uprawnień danego pliku?

EDYCJA: brak nawiasu bliskiego

questionAnswers(2)

yourAnswerToTheQuestion