Пример #1
0
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);
}
Пример #2
0
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;
}