int server() { int msg_id = creat_queue(); if(msg_id < 0){ printf("%s\n",strerror(errno)); return -1; } char buf[_SIZE_]; while(1) { sleep(5); memset(buf,'\0',sizeof(buf)); int ret = recv_msg(msg_id,CLIENT_TYPE,buf,sizeof(buf)); if(ret == 0){ if(strncasecmp(buf,"quit",4) == 0){ printf("client leave!\n"); break; } printf("client say : %s\n",buf); } printf("Please Enter :"); fflush(stdout); memset(buf,'\0',sizeof(buf)); scanf("%s",buf); send_msg(msg_id,SERVER_TYPE,buf); } return delete_queue(msg_id); }
int main(int argc, const char *argv[]) { queue_t *sqp; int i; data_t buf; sqp = creat_queue(8); for(i = 0;i < 10;i ++){ in_queue(sqp,&i); } print_queue(sqp); for(i = 0 ;i < 4;i ++){ buf = -1; out_queue(sqp,&buf); printf("out : %d\n",buf); } print_queue(sqp); for(i = 11;i < 20;i ++){ in_queue(sqp,&i); } print_queue(sqp); for(i = 0 ;i < 8;i ++){ buf = -1; out_queue(sqp,&buf); printf("out : %d\n",buf); } print_queue(sqp); return 0; }
int main() { //创建静态队列,并定义出队数据的保存在变量data_save中 int data_save; PQUEUE pQueue = creat_queue(); //将数据入队,并遍历输出队列中的数据 enter_queue(pQueue,1); enter_queue(pQueue,2); enter_queue(pQueue,3); enter_queue(pQueue,4); traverse_queue(pQueue); //将数据出队,并遍历输出队列中的数据 out_queue(pQueue,&data_save); traverse_queue(pQueue); return 0; }