|
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <netdb.h>
#define MAX_LEN 256
int main(char *argv[]){
char hostname[MAX_LEN];
int ret;
struct servent *serv;
char name[MAX_LEN];
char alias[MAX_LEN];
int port;
ret = gethostname(hostname, MAX_LEN);
if(ret<0){
printf("fail to gethostname\n");
exit(-1);
}
printf("%s%dhostname:%s\n","ret code:", ret, hostname);
serv = getservbyname("chargen", "tcp");
if(serv==NULL){
printf("fail to getservbyname");
exit(-1);
}
printf("name:%s\n", serv->s_name);
//構造体のダブルポインタの記述の仕方
printf("alias:%s\n", *(serv->s_aliases));
printf("port:%d\n", serv->s_port);
*(serv->s_aliases)++; //ポインタ進める
printf("alias:%s\n", *(serv->s_aliases));
return 0;
}
|