APUE говорит
В fdopen значения аргумента типа немного отличаются.
Дескриптор уже открыт, поэтому открытие для записи делает
не обрезать файл. (Если дескриптор был создан открытым
функция, например, и файл уже существовал,
Флаг O_TRUNC будет контролировать, был ли файл обрезан.
Функция fdopen не может просто обрезать любой файл, который она открывает для записи.)
Кроме того, стандартный режим добавления ввода / вывода не может создать файл (так как
файл должен существовать, если дескриптор ссылается на него).
Как правило, когда мы вызываем fdopen()
для дескриптора файла, возвращенного из open()
,
какие типы мы можем указать в fdopen()
?
Должен ли тип, указанный в fdopen()
, быть точно таким же, как режим, указанный в open()
?
Может ли тип, указанный в fdopen()
, быть подмножеством, надмножеством или ни подмножеством, ни надмножеством режима, указанного в open()
?
Если нет ограничений на типы, указанные в fdopen()
относительно режима, указанного в предыдущем open()
, какая часть типа, указанная в fdopen()
, является действительной, а какая - нет (т.е. игнорируется)?
Спасибо.