Chinaunix

标题: getservbyport的错误!! [打印本页]

作者: bdren    时间: 2007-07-10 08:42
标题: getservbyport的错误!!
在学习getservbyport函数时遇到了一个错误,不知错在何处,代码如下:
struct servent *se;
    int i;
    int port;
    for (i = 1; i < 81 ; i++)
    {
        port  = i;
        se = getservbyport(port, "tcp");
        if (se == NULL)
        {
            printf("se error \n");
        }
        printf("Service Name:%s \n", se->s_name);
        printf("Service Port:%d \n" ,htons(se->s_port));
        printf("Service proto:%s \n", se->s_proto);
    }


在这个程序中,只能显示i=1时的服务,接着就出现se error了。
但是如果把刚开始的port = i改为port = 80 ,则没有任何错误。
Why?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2