C模拟linux -who

 

#include "stdio.h"

#include "utmp.h"

#include "fcntl.h"

#include "unistd.h"

#include "time.h"

 

int main()

 {

   struct utmp record;

   int fd;

   int len=sizeof(record);

   if((fd=open(UTMP_FILE,O_RDONLY)) == -1)

    {

        printf("error");

        exit(1);

    }

 while(read(fd,&record,len))

  {

    if(record.ut_type == 7)

    {

     char tt[200];

     strcpy(tt,ctime(&record.ut_time));

     printf("%s\t%s\t%s\t%s",record.ut_user,record.ut_host,record.ut_line,tt);

    }

  }

 close(fd);

 return 0;

 }

 

你可能感兴趣的:(c,who)