使用文件描述符读取 C 中的文件

Spy*_*osR 3 c file file-descriptor

我想通过使用文件描述符来读取文件。由于分配规则,我无法使用它的名称。

我通过打电话获得它open并且工作正常。此时我知道我必须使用该read()函数才能读取它。我的问题是该read()函数需要作为参数读取的字节数,并且我想每次从文件中读取整行,所以我不知道要读取多少字节。

例如,如果我使用fscanf(),它可以很好地处理一个简单的字符串,并且我可以根据需要收回整行。所以我的问题是:

是否有类似的函数fscanf()可以使用文件描述符而不是文件指针来调用?

Ben*_*son 5

当您说“必须使用read()”时,我无法判断这是否是您对给定文件描述符的情况的理解open()或对某种分配的限制。

如果您有一个文件描述符,但您更喜欢fscanf()和朋友相处,请fdopen()使用从您的 fd 获取 aFILE *并继续使用 stdio。

read()在内部,它使用诸如进入缓冲区之类的函数,然后在您fscanf()与朋友一起阅读时处理这些缓冲区。