Доброго времени суток, уважаемые форумчане!
Помогите, пожалуйста разобраться в том, как работает функция. Почитала документацию на Apple Developer, да там столько всего, что глаза разбегаются, и не понятно, куда что передавать и где как что вызывается.
Адрес документации: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/copyfile.3.html
А вот код, который у меня получился, однако, сколько я не пробовала менять передаваемые флаги, она почему-то всегда возвращает -1, что согласно документации означает ошибку. Файл действительно не копируется.
string path = "/Users/user-name/Documents/My.app";
char destination[] = {"/Applications/My.app"};
copyfile_state_t state = copyfile_state_alloc();
int err = copyfile(path.c_str(), destination, state, COPYFILE_RECURSIVE);
copyfile_state_free(state);
Видимо нужны права суперпользователя.
Обновление
Ну тогда не будем гадать. Подобные функции выставляют специальный флаг в переменной errno. Ее значение можно распечатать (это целочисленная переменная). А можно и декодировать в строку функцией strerror. А там будет понятнее.
Продвижение своими сайтами как стратегия роста и независимости