who1.c
来自「unix linux 编程实践源代码」· C语言 代码 · 共 45 行
C
45 行
/* who1.c - a first version of the who program * open, read UTMP file, and show results */#include <stdio.h>#include <utmp.h>#include <fcntl.h>#include <unistd.h>#define SHOWHOST /* include remote machine on output */int main(){ struct utmp current_record; /* read info into here */ int utmpfd; /* read from this descriptor */ int reclen = sizeof(current_record); if ( (utmpfd = open(UTMP_FILE, O_RDONLY)) == -1 ){ perror( UTMP_FILE ); /* UTMP_FILE is in utmp.h */ exit(1); } while ( read(utmpfd, ¤t_record, reclen) == reclen ) show_info(¤t_record); close(utmpfd); return 0; /* went ok */}/* * show info() * displays contents of the utmp struct in human readable form * *note* these sizes should not be hardwired */show_info( struct utmp *utbufp ){ printf("%-8.8s", utbufp->ut_name); /* the logname */ printf(" "); /* a space */ printf("%-8.8s", utbufp->ut_line); /* the tty */ printf(" "); /* a space */ printf("%10ld", utbufp->ut_time); /* login time */ printf(" "); /* a space */#ifdef SHOWHOST printf("(%s)", utbufp->ut_host); /* the host */#endif printf("\n"); /* newline */}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?