Форум программистов, компьютерный форум, киберфорум
Наши страницы

Аналог команды chmod - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ typedef http://www.cyberforum.ru/cpp-beginners/thread602079.html
Сталкнулся с таким объвлением typedef __mpz_struct mpz_t; Не могу врубится что оно значит? http://www.cyberforum.ru/cpp-builder/thread601167-page5.html#post3148431
C++ Программа выдает не тот результат Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка включает: • пункт назначения; • номер рейса; • фамилию и инициалы пассажира; • желаемую дату... http://www.cyberforum.ru/cpp-beginners/thread602060.html
Найти среднее арифметическое чисел, больших М и меньших Н C++
Написать программу с оператором for, которая проверяет пароль пользователя, а затем позволяет пользователю ввести два целых числа М и Н (М < Н), определяющие границы диапазона возможных значений, и...
C++ Почему "падает" программа
#include <iostream> #include <cmath> using namespace std; void vvodMas(int x, int n); void ydalenie(int x, int n); void perestanovka(int x, int k); void print(int x, int k); int main() { ...
C++ Решние уравнения f(x)=0 методом итераций http://www.cyberforum.ru/cpp-beginners/thread602027.html
Всем привет! Ребята, помогите пожалуйта! Как кровь из носа нужен код такой вот задачки Программа решения уравнения f(x)=0 методом итераций. y=(2*x-log(x))/3. В итерациях вообще ничего не...
C++ Проверка вводимых символов Что то я так и не нашел в с++ под линукс есть ли встроенные регэкспы. Мне нужно что бы люди при загрузке файла не могли подменить имя, то естьп роверить что это символы a-zA-Z-а-яёА-ЯЁ0-9_.,'- и... подробнее

Показать сообщение отдельно
CryNet
0 / 0 / 1
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 1
10.06.2012, 17:34  [ТС]
Цитата Сообщение от soon Посмотреть сообщение
Можно посмотреть, как реализован стандаврный chmod
Bash
1
2
3
4
5
mkdir coreutils
cd coreutils
apt-get source coreutils
cd coreutils*/src
vim chmod.c
кроме одного кода ниже не нашел ничего полезного.. даже перекомпилить не удается

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 while ((c = getopt_long (argc, argv,
                           "Rcfvr::w::x::X::s::t::u::g::o::a::,::+::=::",
                           long_options, NULL))
         != -1)
    {
      switch (c)
        {
        case 'r':
        case 'w':
        case 'x':
        case 'X':
        case 's':
        case 't':
        case 'u':
        case 'g':
        case 'o':
        case 'a':
        case ',':
        case '+':
        case '=':
          /* Support nonportable uses like "chmodfate -w", but diagnose
             surprises due to umask confusion.  Even though "--", "--r",
             etc., are valid modes, there is no "case '-'" here since
             getopt_long reserves leading "--" for long options.  */
          {
            /* Allocate a mode string (e.g., "-rwx") by concatenating
               the argument containing this option.  If a previous mode
               string was given, concatenate the previous string, a
               comma, and the new string (e.g., "-s,-rwx").  */
 
            char const *arg = argv[optind - 1];
            size_t arg_len = strlen (arg);
            size_t mode_comma_len = mode_len + !!mode_len;
            size_t new_mode_len = mode_comma_len + arg_len;
            if (mode_alloc <= new_mode_len)
              {
                mode_alloc = new_mode_len + 1;
                mode = X2REALLOC (mode, &mode_alloc);
              }
            mode[mode_len] = ',';
            strcpy (mode + mode_comma_len, arg);
            mode_len = new_mode_len;
 
            diagnose_surprises = true;
          }
          break;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru