Я учусь о модулях ядра, сообщающихся с программами на уровне пользователя и первоначально открытие файла сC альтернатива fputs()/fgets() с открытым()
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);
}
'read' не возвращает' NULL'. Проверьте его документацию. – edmz