1

我正在处理使用各种数据结构来存储和排序数据的任务。数据结构部分对我来说相当简单,但是,我在第一步中被挂断了,读取/解析一个 wtmp 文件。我以前解析过几个文件,但从来没有解析过二进制文件。解析这样的文件有什么技巧?提前致谢。

4

2 回答 2

4

尝试使用utmp.h

于 2012-04-25T21:43:45.390 回答
3

这是一个如何解析它的示例,您需要将文件的字节读入 utmp 结构。您真的应该查看手册页以了解所有详细信息,这与使用标准 C 库读取文件不同。

#include<stdio.h>
#include<fcntl.h>
#include<utmp.h>

int main()
{
      int fd;
      struct utmp cr;
      int reclen = sizeof(struct utmp);

      fd = open(WTMP_FILE, O_RDONLY);
      if (fd == -1){
        perror("oops");
        exit(1);
      }
      while (read(fd, &cr, reclen) == reclen)
        printf("-- %s\n", cr.ut_user);

      close (fd);
      return 0;
}
于 2012-04-25T22:36:40.147 回答