У меня есть программа, в которой мне нужно установить разрешения для файла (скажем, /home/hello.t
) с помощью chmod
, и мне нужно прочитать разрешения, которые должны быть установлены из файла. Для этого я сначала считываю разрешения в массиве символов, а затем пытаюсь изменить разрешения для файла. Но я вижу, что разрешения устанавливаются странным образом.
Пример программы, которую я написал:
main()
{
char mode[4]="0777";
char buf[100]="/home/hello.t";
int i;
i = atoi(mode);
if (chmod (buf,i) < 0)
printf("error in chmod");
}
Я вижу, что права доступа к файлу не установлены на 777. Не могли бы вы помочь мне, как установить права доступа к файлу после его чтения из массива символов.