【发布时间】:2013-12-18 00:25:09
【问题描述】:
我相信getprotoent() 函数从/etc/protocols 获取值。
我做了以下示例程序:test.c.
显示
proto.p_name = ip
*proto.p_aliases = IP
proto.p_proto = 0
这些值与/etc/protocols 中的第一个条目相同。
我想知道如何获取第二个条目的值,例如循环评估一些不使用getprotobyname() 或getprotobynumber() 的指针。
测试.c
#include <stdio.h>
#include <string.h>
#include <netdb.h>
int main(int argc,char *argv[])
{
protEnt();
}
int protEnt()
{
setprotoent(2);
struct protoent proto;
proto = *getprotoent();
printf("proto.p_name = %s\n",proto.p_name);
printf("*proto.p_aliases = %s\n",*proto.p_aliases);
printf("proto.p_proto = %d\n",proto.p_proto);
proto = *getprotoent();
endprotoent();
}
【问题讨论】: