Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Файловый дескриптор у FILE *  (Прочитано 654 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2565
    • Просмотр профиля
Файловый дескриптор у FILE *
« : 06 Января 2022, 20:43:51 »
Здравствуйте!

Вопрос не прямо по Ubuntu, но. м.б., у неё есть в этом отличия.
Я функцией fmemopen() получаю указатель типа "FILE *", запись и чтение работает, но мне требуется ещё его файловый дескриптор,
так вот функция flieno() его не возвращает, пишет, неверный аргумент, в самой "FILE *" член _fileno равен -2.
Так должен у таким образом полученного "FILE *" быть файловый дескриптор или мне оставить надежду?


Пользователь добавил сообщение 06 Января 2022, 21:38:45:
Мне в другом месте объяснили, что это из-за того, что возвращённый указатель не связан ни с каким реальным файлом.
fileno() возвращает EBADF. Я предполагал, что это из-за того, что файл в памяти, но наделялся, что система
для единообразия в любом случае назначает какой-нибудь дескриптор.
« Последнее редактирование: 06 Января 2022, 21:38:45 от Peter_I »
Пётр.

Оффлайн valrust

  • Активист
  • *
  • Сообщений: 363
    • Просмотр профиля
Re: Файловый дескриптор у FILE *
« Ответ #1 : 09 Января 2022, 02:00:16 »
Так должен у таким образом полученного "FILE *" быть файловый дескриптор или мне оставить надежду?

Ответ на ваш вопрос есть в man странице функции fmemopen в первом абзаце секции NOTE.

Если нужны подробности по функциям библиотеки C, лучше читать соответсвующую man страницу.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2565
    • Просмотр профиля
Re: Файловый дескриптор у FILE *
« Ответ #2 : 09 Января 2022, 10:46:05 »
valrust, да, я потом это прочитал на этой странице. С первого чтения не дошёл до этого места.
Можно ли приписать указателю на файл файловый дескриптор, в Интернете не нашёл.
Пётр.

 

Страница сгенерирована за 0.042 секунд. Запросов: 25.