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