Как открыть файл crontab в c ++

Я работаю над приложением QT, которое облегчает использование crontab с помощью GUI. Но я сталкиваюсь с проблемой включения заданий в файл crontab из моего приложения. Итак, как мне открыть файл crontab в приложении c ++ для его редактирования? Любая помощь приветствуется. Спасибо

0
задан 14 May 2013 в 15:08

3 ответа

Я на самом деле не парень C, и я все еще относительно новичок в Linux, но файлы хранятся в /var/spool/cron/crontabs/$USER, поэтому я думаю, что вы просто сделали бы стандартный файловый ввод-вывод.

0
ответ дан 14 May 2013 в 15:08

Предлагаю взглянуть на Планировщик заданий KDE (kde-config-cron) Install kde-config-cron , который позволяет настроить crontabs.

Это приложение Qt, которое уже делает то, что вы пытаетесь достичь. Это лицензионный код GPL.

enter image description here

0
ответ дан 14 May 2013 в 15:08

Я нашел здесь эту функцию в C:

static int opentab(int uid, char *file, int how)
/* Open a crontab file under the given uid.  How is 'r' or 'w'.  Return
 * the result of open(2).
 */
{
       uid_t safe_uid;
       int flags, r, err;

       switch (how) {
         case 'r':       flags= O_RDONLY;                        break;
         case 'w':       flags= O_WRONLY | O_CREAT | O_TRUNC;    break;
         default:        errno= EINVAL;                          return -1;
       }

#if __minix && !__minix_vmd
/* Standard Minix has no saved uid, so use the lousy old access(). */
       if (uid != 0) {
               if (access(file, how == 'r' ? R_OK : W_OK) < 0) return -1;
       }
#endif

       safe_uid= geteuid();
       seteuid(uid);
       r= open(file, flags, 0666);
       err= errno;
       seteuid(safe_uid);
       errno= err;
       return r;
}

Может быть, это может быть полезно для вас.

0
ответ дан 14 May 2013 в 15:08

Другие вопросы по тегам:

Похожие вопросы: