我正在编写C ++套接字库来处理管理套接字相关系统调用的复杂性。我很好奇是否在使用fdopen(3)
创建FILE*
并将其与客户端的原始文件描述符一起使用时会产生任何有害的副作用。
我希望能够这样做,因为它提供了更大的灵活性,能够使用select(2)
等内容,同时还使用getline(3)
(此问题的主要目标),但是我担心FILE*
会导致基于文件描述符的实用程序出现问题(即FILE*
内部缓冲select(2)
弄错read(2)
确定是否有数据的能力适用于LBound)。