Я уже ответил на это в комментарии, и несколько человек сказали вам, что вы сделали неправильно в качестве ответов, но я решил добавить небольшой пример кода с проверкой ошибок:
chdir("/var");
FILE *scriptFile = fopen("wiki.txt", "w");
if( !scriptFile ) {
fprintf(stderr, "Error opening file: %s\n", strerror(errno));
exit(-1);
} else {
fputs("tell application \"Firefox\"\n activate\n",scriptFile);
fclose(scriptFile);
}
Теперь вы увидите ошибку, если ваш файл не открыт, и она опишет почему (в вашем случае доступ запрещен). Вы можете сделать это для тестирования: 1) заменив свое имя файла на что-либо доступное для записи, например "/tmp/wiki.txt"
; или 2) запуск вашей утилиты с привилегиями sudo ./your_command_name
.