当前位置:  技术问答>linux和unix

error: ‘struct in_addr’ has no member named ‘S_un’

    来源: 互联网  发布时间:2016-12-17

    本文导语:  用GCC调试出了 error: ‘struct in_addr’ has no member named ‘S_un’ 。找了MSDN,谷歌,一堆英文试着看了几下,也没找着我把代码列出,各位帮我看下哪里错了,在这先谢谢了 #include  #include  #include  #include  #include ...

用GCC调试出了 error: ‘struct in_addr’ has no member named ‘S_un’ 。找了MSDN,谷歌,一堆英文试着看了几下,也没找着我把代码列出,各位帮我看下哪里错了,在这先谢谢了

#include 
#include 
#include 
#include 
#include 
#include 
#include 
int main(int argc,char *argv[])
{
int server_socket;
int client_socket;
char buffer[512];
pid_t child_id;
int read_count;
int addr_len = sizeof(struct sockaddr_in);
struct sockaddr_in ser_addr,client_addr;
memset(buffer,0,512);
server_socket = socket(AF_INET,SOCK_STREAM,0);
if(server_socket 0)
  {
   close(client_socket);
  }
}

return 0;
}
                      

|
ser_addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
这是从哪儿摘录的

unix系统中通常没有大写的命令或函数或成员
试试
ser_addr.sin_addr.s_addr = inet_addr("127.0.0.1");

|
/* Internet address. */
struct in_addr {
__be32 s_addr;
};

上面是内核里的定义。

估计楼主copy代码的时候有问题,呵呵。

|
改成下面的试试看
ser_addr.sin_addr.s_addr = inet_addr("127.0.0.1");


|
楼主没copy错,你的程序应该是在windows上运行吧,
你是Linux中,还是windows?

winsock.h中有如下定义:
struct in_addr {
union {
struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
struct { u_short s_w1,s_w2; } S_un_w;
u_long S_addr;
} S_un;
#define s_addr  S_un.S_addr
#define s_host  S_un.S_un_b.s_b2
#define s_net   S_un.S_un_b.s_b1
#define s_imp   S_un.S_un_w.s_w2
#define s_impno S_un.S_un_b.s_b4
#define s_lh    S_un.S_un_b.s_b3
};

|
错误报警很明白啊!就是说没有S_un这个成员啊!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 模块编译:error: ‘inode_t’ has no member named ‘i_blksize’
  • java命名空间java.lang类error的类成员方法: error定义及介绍
  • php异常:Parse error: syntax error, unexpected eval()'d code error
  • java命名空间java.awt枚举trayicon.messagetype的类成员方法: error定义及介绍
  • runtime error与compile time error的区别?
  • java命名空间javax.tools枚举diagnostic.kind的类成员方法: error定义及介绍
  • Error Mounting /dev/acd0 on /dist: Input/output error(5)
  • java命名空间java.awt类mediatracker的类成员方法: errored定义及介绍
  • tar:error exit delayed from previous errors
  • java命名空间javax.lang.model.type枚举typekind的类成员方法: error定义及介绍
  • PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
  • java命名空间java.net类httpurlconnection的类成员方法: http_internal_error定义及介绍
  • PHP Parse Error: syntax error, unexpected $end 错误解决办法
  • java命名空间javax.xml.bind接口validationevent的类成员方法: error定义及介绍
  • error:syntax error before "va_mode_t"
  • java命名空间javax.swing类joptionpane的类成员方法: error_message定义及介绍
  • php异常parse error: syntax error, unexpected t_var错误怎么解决
  • java命名空间javax.swing类jfilechooser的类成员方法: error_option定义及介绍
  • PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
  • java命名空间java.net类httpurlconnection的类成员方法: http_server_error定义及介绍
  • ERROR: Error in Log_event::read_log_event()
  • java命名空间javax.management.monitor类monitornotification的类成员方法: threshold_error定义及介绍
  • php错误日志处理display_errors与log_errors用法区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3