函数代码:
void get_local_addr(char *addr)
{
char hostname[50];
struct hostent *sthost;
struct in_addr inaddr; gethostname(hostname, 255);
sthost = gethostbyname(hostname);
inaddr.s_addr = *((unsigned long *)*sthost->h_addr_list);
}我是这样调用的:
char addr[50];
get_local_addr(addr);调用时出错,说某处的内存不能读,这是怎么回事?
应该怎么改?
void get_local_addr(char *addr)
{
char hostname[50];
struct hostent *sthost;
struct in_addr inaddr; gethostname(hostname, 255);
sthost = gethostbyname(hostname);
inaddr.s_addr = *((unsigned long *)*sthost->h_addr_list);
}我是这样调用的:
char addr[50];
get_local_addr(addr);调用时出错,说某处的内存不能读,这是怎么回事?
应该怎么改?
sthost = gethostbyname(hostname);
inaddr.s_addr = *((unsigned long *)*sthost->h_addr_list);
自然会出错。
=>
struct hostent *sthost=new hostent;
ZeroMemory(sthost,sizeof(hostent));
后面记得delete.
Oracle认证的前途远大....
找工作至少可以8K以上了
资料费、考试费……总共下来要7、8K吧
有真本事根本用不着那些东西·