对C 手册内容简介
创始人
2024-06-22 04:21:23
0

学无止境,最近学习了C++手册的一些知识,写了二段代码.希望有人来点评,指出其中的错误,或需要改进的地点.在写的过程当中,遇到很多问题,不段的问人,在贴求助。

查看C++手册,查看网上教程才得以写出. 但C++的许多基础知识我还是不懂.并不段的在学习.  由于工作繁忙,学习进度实在是小得可怜,发了很多C++语言的基础.在那里我学到了许多知识. 如果打算学习C++手册的成员们就一起吧。

  1. #include     
  2. #include     
  3. #include     
  4. #include     
  5. #include     
  6. #include /types.h>    
  7. #include /in.h>    
  8. #include /socket.h>    
  9. #include     
  10. #include      
  11. #include /in.h>      
  12. #include /socket.h>        
  13. #include /inet.h>        
  14. #include     
  15. #include /ipc.h>        
  16. #include /shm.h>    
  17. /*建立精灵进程*/    
  18. int daemon_init(void)    
  19. { pid_t pid;    
  20. if((pid = fork()) < 0) return(-1);    
  21. else if(pid != 0) exit(0); /* parent exit */    
  22. /* child continues */    
  23. setsid(); /* become session leader */    
  24. chdir("//tmp"); /* change working directory */    
  25. umask(0); /* clear file mode creation mask */    
  26. close(0); /* close stdin */    
  27. close(1); /* close stdout */    
  28. close(2); /* close stderr */    
  29. return(0); }    
  30. /*读取文件数据*/    
  31. void myread(char *buff)    
  32. {    
  33. char buf[1024];    
  34. FILE *fp;    
  35. fp = fopen("/proc/net/dev", "r");    
  36. if(!fp)    
  37.  {    
  38. perror("fopen");    
  39. exit(2);    
  40. }    
  41. fgets(buf, 1024, fp);    
  42. fgets(buf, 1024, fp);    
  43. fgets(buf, 1024, fp);    
  44. fgets(buf, 1024, fp);    
  45. fscanf(fp, "%s", buf);   /*从第三行开始读*/    
  46. snprintf(buff, 100, "%s", buf);    
  47. fclose(fp);    
  48. printf("%s\n", buf);    
  49. }    
  50.     
  51. int main(int argc, char *argv[])    
  52. {    
  53. int sockfd,new_fd;     
  54. struct sockaddr_in server_addr;    
  55. struct sockaddr_in client_addr;    
  56. int sin_size,portnumber;    
  57. char hello[1024];    
  58. /* 服务器端开始建立socket描述符 */    
  59. if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)    
  60. {    
  61. printf("Socket error:%s\n\a",strerror(errno));    
  62. exit(1);    
  63. }    
  64. /* 服务器端填充 sockaddr_in结构 */    
  65. bzero(&server_addr,sizeof(struct sockaddr_in));    
  66. server_addr.sin_family=AF_INET;    
  67. server_addr.sin_addr.s_addr=inet_addr("本机IP");        
  68. server_addr.sin_port=htons(10240); /*端口号转换为网络字节序*/    
  69. /* 捆绑sockfd描述符 */    
  70. if(bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==    
  71. -1)    
  72. {    
  73. printf("Bind error:%s\n\a",strerror(errno));    
  74. exit(1);    
  75. }    
  76. /* 监听sockfd描述符 */    
  77. if(listen(sockfd,5)==-1) /*5为请求队列的***请求数*/    
  78. {    
  79. printf("Listen error:%s\n\a",strerror(errno));    
  80. exit(1);    
  81. }    
  82. while(1)    
  83. {    
  84. /* 服务器阻塞,直到客户程序建立连接 */    
  85. sin_size=sizeof(struct sockaddr_in);    
  86. if((new_fd=accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size    
  87. ))==-1)    
  88. {    
  89. printf("Accept error:%s\n\a",strerror(errno));    
  90. exit(1);    
  91. }    
  92. /*inet_ntoa的作用是将一个32位Ipv4地址转换为相应的点分十进制数串*/    
  93. printf("Server get connection from %s\n",inet_ntoa(client_addr.sin_addr));    
  94. /*向客户端发送hello字符数组的内容*/    
  95. myread(hello);    
  96. if(write(new_fd,hello,strlen(hello))==-1)    
  97. {    
  98. printf("Write Error:%s\n",strerror(errno));    
  99. exit(1);    
  100. }    
  101. /* 这个通讯已经结束 */    
  102. close(new_fd);    
  103. }/* while结尾处*/    
  104. close(sockfd);    
  105. exit(0);    
  106. }   

【编辑推荐】

  1. C与C++中标准输入实现方式上的一点区别
  2. C++编译器如何对Const常量进行分配存储空间
  3. C++类库设计的基本构思与方法
  4. 玩转C++语言的几种方法
  5. 如何更好的进行C++代码编制

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...