C alternative to fputs()/fgets() with open()



我正在学习内核模块与用户级程序通信,最初打开一个文件

FILE *pFile = fopen(...)

并写信给它

char *str = malloc(10);
fputs(str, pFile);

但是现在我需要在#include <fcntl.h>中使用功能来尝试一些异步通知,而我使用的示例

int pFile;
pFile = open("/dev/mymodule", O_RDWR);

我认为我不能再使用fputs()fgets(),因为它需要FILE *ptr,而我现在有一个int。我想我应该使用write()read()代替。

这是它的工作原理吗?

write(pFile, str,  sizeof(str));
char line[256];
    while (read(pFile, line, 256) != NULL) {
            printf("%s", line);
        }

您可以使用 fdopen() 打开基于文件描述符的FILE*

FILE *file = fdopen(pfile, "rw");

参考:fdopen - 将流与文件描述符关联

相关内容

  • 没有找到相关文章

最新更新