【 在 scaner (好好) 的大作中提到: 】
: 读/var/run/utmp
: usr/include/utmp.h中有相应的函数
: man utmp也有不少信息.
: 还可以去看看who/last的源程序.
: 大虾能否先给我说一下救救急,然后我在慢慢去read there references.
linux中,我用的是下面一段程序.
struct utmp *
gettheutmp()
{
struct utmp *data,I;
char *tp ;
tp = ttyname(0) ;
if(!tp)
return NULL ;
tp = strchr(tp,'/') + 1 ;
tp = strchr(tp,'/') + 1;
strncpy(I.ut_line,tp,UT_LINESIZE);
I.ut_line[UT_LINESIZE-1]=0;
setutent();
data = getutline(&I);
endutent();
return data;
}
返回的是一个utmp数据,成员ut_host就是IP地址吧.
本文转自中文Linux论坛