免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 40825 | 回复: 5
打印 上一主题 下一主题

[C] 帮忙排错: expected declaration or statement at end of input [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-11 18:00 |只看该作者 |倒序浏览
8 #include<stdio.h>
  9 #include<sys/types.h>
10 #include<sys/ipc.h>
11 #include<stdlib.h>
12 #include<sys/msg.h>
13 #include<string.h>
14 #include<syslog.h>
15 #include<errno.h>
16 #include<unistd.h>
17 #include<signal.h>
18 #include<sys/stat.h>
19 #include<sys/param.h>
20 #include<errno.h>
21
22 #define BUF_SIZE 256
23 #define PROJ_ID  32

71
72 int main()
73 {
74
75         init_daemon();  /*守护进程创建*/
76
77         key_t key;
78         int qid;   /*消息队列标志*/
79         int len;
80         struct msgbuffer msgbuf;
81         int j=0;
114                 else if(fork()==0)
115                 {
116                         key_t msgkey;
117                         int msgid;   /*消息队列标志*/
118                         int msglen;
119                         struct msgbuffer msg;
120                         errno=0;
121
122                         /*获取键值*/
123                         if ((msgkey=ftok(path_name,PROJ_ID))==-1)
124                         {
125                                 perror("ftok error!\n");
126                                 exit(1);
127                         }
128                         /*获取消息队列标志符*/
129                         if((msgid=msgget(msgkey,IPC_CREAT|0666))==-1)
130                         {
131                                 perror("msgget error!\n");
132                                 exit(1);
133                         }
134
135                         msg.msgtype=SERVER_MSG;
136                         strcpy(msg.msgtext,"hello");
137                         msglen=sizeof(struct msgbuffer)-4;
138                         if(msgsnd(msgid,&msg,msglen,0)==-1)
139                         {
140                                 perror("msgsnd error!\n");
141                                 exit(1);
142                         }
143
144                         while(1)
145                         {
146                                 sleep(5);
147                                 if(msgrcv(msgid,&msg,msglen,CLIENT_MSG,IPC_NOWAIT)==-1)
148                                 {
149                                         syslog(LOG_USER|LOG_INFO,"msgrcv error!reason:%d\n",errno);
150                                         if(errno==42){
151                                                 if(fork()==0)
152                                                 {
153                                                         execvp(path_name,NULL);
154                                                         syslog(LOG_USER|LOG_INFO,"the client restart");
155                                                 }
156                                         }
157                                         else exit(1);
158                                 }
159                                 else
160                                 {
161                                         syslog(LOG_USER|LOG_INFO,"Client:%s\n",msgbuf.msgtext);
162                                         j++;
163                                         syslog(LOG_USER|LOG_INFO,"%d\n",j);
164
165                                         msgbuf.msgtype=SERVER_MSG;
166                                         strcpy(msgbuf.msgtext,"hello");
167                                         msglen=sizeof(struct msgbuffer)-4;
168                                         if(msgsnd(msgid,&msgbuf,msglen,0)==-1)
169                                         {
170                                                 perror("msgsnd error!\n");
171                                                 exit(1);
172                                         }
173
174                                 }
175
176                                 sleep(5);
177                         }
178                 }
179                 else
180                 {
181                         continue;
182                 }
183         }
184 }


运行出现:
server.c: 在函数‘main’中:
server.c:184: 错误: expected declaration or statement at end of input

网上查了是“某一个函数或者变量没有在使用之前声明。”找了半天,还是没有找到。。。。郁闷。。。

[ 本帖最后由 cyg19860205 于 2009-5-11 18:26 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-05-11 18:08 |只看该作者
怎么没人回复呢。。。。

论坛徽章:
0
3 [报告]
发表于 2009-05-11 18:13 |只看该作者
原帖由 cyg19860205 于 2009-5-11 18:08 发表
怎么没人回复呢。。。。


某个地方少了个括号

论坛徽章:
0
4 [报告]
发表于 2009-05-11 18:15 |只看该作者
原帖由 styleplus 于 2009-5-11 18:13 发表


某个地方少了个括号



我对过了  没有阿 。。。。

论坛徽章:
0
5 [报告]
发表于 2009-05-11 18:18 |只看该作者
原帖由 styleplus 于 2009-5-11 18:13 发表


某个地方少了个括号



眼睛花了 。。。查出来了
谢谢了

论坛徽章:
0
6 [报告]
发表于 2009-05-11 18:26 |只看该作者
怀疑是怎么看出来的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP