Используя открытое () системный вызов

Чтобы добавить к уже правильному ответу, вы также можете использовать SVG('<span>').attr(...) для создания HTML, который вы хотите добавить.

const fObj = canvas.foreignObject(100, 100)
fObj.add(SVG('<span>').attr(...))

Вы даже можете добавить HTML напрямую:

fObj.add('<span id="bla">Hello</span>') 
11
задан Petros Koutsolampros 7 March 2014 в 23:45
поделиться

5 ответов

Вам, вероятно, нужен третий аргумент. Например:

open('path',O_WRONLY|O_CREAT,0640);
17
ответ дан 3 December 2019 в 02:11
поделиться

На Linux существует третий аргумент, который можно использовать для передачи полномочий. S_IWUSR должен быть флагом, чтобы дать Вам полномочия записи, но на практике Вы, вероятно, захотите использовать больше флагов, чем просто что один (поразрядный or'd вместе). Проверьте страницу справочника на список флагов разрешения.

1
ответ дан 3 December 2019 в 02:11
поделиться

Просто используйте дополнительный третий аргумент open:

int open(const char* pathname, int flags, mode_t mode);

таким образом как это:

open("blahblah", O_CREAT | O_WRONLY, S_IRUSR | S_IWUSER | S_IRGRP | S_IROTH);

Посмотрите man open(2).

14
ответ дан 3 December 2019 в 02:11
поделиться

Обратите внимание, что под POSIX (Unix, Linux, MacOS, и т.д.) можно открыть и создать файл с любыми полномочиями, которые Вы выбираете, включая 0 (никакое разрешение для любого), и все же все еще пишете в файл, если открыто для записи.

1
ответ дан 3 December 2019 в 02:11
поделиться

Из руководства:

O_CREAT

Если файл существует, этот флаг не имеет никакого эффекта за исключением отмеченного под O_EXCL ниже. Иначе файл должен быть создан; идентификатор пользователя файла должен быть установлен на эффективный идентификатор пользователя процесса; идентификатор группы файла должен быть установлен на идентификатор группы родительского каталога файла или к эффективному идентификатору группы процесса; и биты права доступа (видят) режима файла, буду установлен на значение третьего аргумента, взятого в качестве типа mode_t измененный следующим образом: поразрядное И выполняется на битах режима файла и соответствующих битах в дополнении маски создания режима файла процесса. Таким образом все биты в режиме файла, соответствующий бит которого в маске создания режима файла установлен, очищены. Когда биты кроме битов полномочий файла установлены, эффект неуказанный. Третий аргумент не влияет, открыт ли файл для чтения, записи, или для обоих. Реализации должны позволить инициализировать идентификатор группы файла к идентификатору группы родительского каталога. Реализации, но нуждаются не, может обеспечить определенный реализацией способ инициализировать идентификатор группы файла к эффективному идентификатору группы обработки вызовов.

Таким образом, кажется, что необходимо передать третий аргумент, указывающий желаемые полномочия файла.

1
ответ дан 3 December 2019 в 02:11
поделиться
Другие вопросы по тегам:

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