如何在linux中使用文件解析读取字符空间文件?

时间:2017-05-26 10:01:34

标签: c

ex: - 这就是我打开文件的方式

   if ((fp = fopen("/dev/kmsg", "r")) == NULL) {
            printf("opeaning file /dev/kmsg");
   }

1 个答案:

答案 0 :(得分:1)

一旦fopen成功,您就可以在其上使用常用的解析技术,即使文件描述符是字符设备或fifo(7)(甚至是/proc/下的/proc/self/maps下的许多伪文件{1}},请参阅proc(5) ...)。通常这样的文件描述符可能是不可搜索的(例如lseek(2)会失败)。

您可能希望逐行阅读(使用fgetsgetline(3))并解析每一行,例如使用sscanf(3)或其他方式。如果使用sscanf(或fscanf ...),请务必检查返回计数。有时使用%n可能会有所帮助