Состояние реализации POSIX - PullRequest
5 голосов
/ 06 апреля 2011

Я только что узнал, что функция getline(), которая изначально была расширением GNU, теперь является частью стандарта POSIX 2008.

Есть ли общий обзор того, насколько широко поддерживается эта версия POSIX?

1 Ответ

2 голосов
/ 06 апреля 2011

Я бы просто пошел и использовал это. Можно реализовать getline (но не более мощный getdelim) как очень быструю / эффективную оболочку вокруг fgets, поэтому, если вы готовы сделать это как запасной вариант, использование getline на самом деле не сделайте вашу программу менее переносимой. (По сравнению с чем-то вроде использования __fpending, который не может быть реализован переносимым образом и требует эмуляции для конкретной реализации.)

Также, конечно, и getline, и getdelim могут быть просто реализованы поверх flockfile / funlockfile и fgetc. Это не очень эффективно, но оно будет работать где угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...