void *thread(void*argv) { //struct sockaddr_in tcin; int cfd = (int)argv; char buf[1024]={0}; int ret; Node* k=NULL; Node m; struct package p; while(1) { ret = read(cfd,buf,sizeof(buf)); if(ret <=0){ close(cfd); printf("close cfd+%d\n",cfd); return argv; } load(); k = search(buf); if(k != NULL) { read(cfd,buf,sizeof(buf)); if(strcmp(k->passowed,buf) == 0){ //free(td.fhead); k->fcd = cfd; m.fcd = k->fcd; strcpy( m.name , k->name); strcpy(m.passowed ,k->passowed); write(cfd,"登录成功",12); insert_b(m); printf("---------------------\n"); show(td.thead); save(td.thead); //free_list(td.fhead); break; }else{ write(cfd,"登录失败",12); } }else{ write(cfd,"no user",7); } // show(td.fhead); } return argv; }
int main(int argc, const char *argv[]) { struct stu *op,*head; head = (struct stu *)malloc(sizeof(struct stu)); head->id = 1; head->chinese = 97; strcpy(head->name,"zhang"); op=creat(head,2,60,"shazi"); op=creat(op,3,60,"bendan"); op=creat(op,4,70,"danben"); op=creat(op,5,80,"haha"); op=creat(op,6,90,"haha1"); op=creat(op,7,100,"huakai"); //head = fr(head,1); //insert_next(head,3,8,59,"ladeng"); head = insert_b(head,20,9,58,"ladeng"); bianli(head); return 0; }
int search_add(char *ch) { node_a *temp=head; while(temp!=NULL) { if((temp->m[0]==*(ch+0))&&(temp->m[1]==*(ch+1))) { break; } temp=temp->down; } if(temp==NULL) { insert_a(ch); temp=p; } char st[2]; st[0]=*(ch+2); st[1]=*(ch+3); insert_b(temp,st); }