• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            讀鍵盤掃描碼
            獲取機器日期
            將浮點數轉化為字符串
            清除屏幕
            顯示時間
            打印一個矩形
            砍掉字符串中所有空格
            取子字符串
            從文件中讀取字符
            字符串左靠齊
            取左字符串
            向文件寫數據
            取右字符串
            打開或關閉光標
            喇叭發聲
            時間延遲
            正點報時
            寫整數于文件中
            從文件中讀取整數
            報警
            字符串右靠齊
            字符串居中
            刪除子字符串
            查找指定字符串
            產生空格
            產生字符串
            砍掉字符串左邊空格
            砍掉字符串右邊空格
            顯示一個字符串
            定義屏幕顏色
            顯示提示窗口顯示警告窗口
            得到文件長度
            窗口滾屏
            掃描鍵盤
            插入字符串
            檢測磁盤是否準備就緒
            檢測磁盤是否寫保護
            修改文件的某一行
            成批拷貝文件
            拷貝一個文件
            建立目錄
            得到目錄
            得到文件名
            任意兩個正整數相加(<80位)
            任意兩個正整數相乘


            注意:該函數集省略了不少TC標準頭文件,讀者使用時要自行添加。而且由于該函數集內部函數間有的有調用關系,讀者拆卸時要謹慎。


            /*編程技巧薈萃*/

            /*從鍵盤中讀取字符 功能:按下普通鍵時,返回其ASCII碼 掃描碼CODE=0*/
            int INKEY(int *code)
            {
            int m;
            while(!bioskey(1))/*可加入無按鍵時代碼*/;
            *code=bioskey(0);
            m=*code*255;
            if(!m) m=*code>>8;
            *code=*code&255;
            return m;
            }

            /*獲取機器日期*/
            int DATE(char *s,char type)
            {
            char dat[30];
            int num;
            struct tm *tblock;
            time_t t;
            t=time(NULL);
            tblock=localtime(&t);
            strcpy(dt,asctime(tblock));
            strcpy(s,"");
            switch(type)
            {
            case 'N':
            num=(*tblock).tm_year+1900;
            itoa(num,s,10);
            break;
            case 'Y':
            num=(*tblock).tm_mon+1;
            itoa(num,s,10);
            break;
            case 'R':
            num=(*tblock).tm_mday;
            itoa(num,s,10);
            break;
            case 'S':
            strcpy(dt,asctime(tblock));
            MID(s,dt,12,8);
            break;
            }
            }
            return num;
            }

            /*將浮點數轉化為字符串*/
            /* 參數說明 data:需轉換的浮點數;s:輸出字符串;len:轉換后的長度*/
            void f_to_s(double data,char *s,int len)
            {
            int dec,sign,i;
            char *s1,s2[100],s3[100];
            s1=0;
            s2[0]=0;
            s3[0]=0;
            s1=fcvt(data,len,&dec,&sign);
            if (!sign&&data>=1)
            {
            MID(s2,s1,dec+1,-1);
            MID(s3,s1,1,dec);
            strcpy(s,"+");
            strcat(s,s3);
            strcat(s,".");
            strcat(s,s2);
            }
            if (sign&&fabs(data)>=1)
            {
            MID(s2,s1,dec+1,-1);
            strcpy(s,"-");
            MID(s3,s1,1,dec);
            strcat(s,s3);
            strcat(s,".");
            strcat(s,s2);
            }
            if (!sign&&dec==0)
            {
            strcpy(s,"+0.");
            strcat(s,s1);
            }
            if (sign&&dec==0)
            {
            strcpy(s,"-0.");
            strcat(s,s1);
            }
            if (!sign&&dec<0)
            {
            strcpy(s,"+0.");
            for(i=1;i<=fabs(dec);i++)
            strcat(s,"0");
            strcat(s,s1);
            }
            if (sign&&dec<0)
            {
            strcpy(s,"-0.");
            for(i=1;i<=fabs(dec);i++)
            strcat(s,"0");
            strcat(s,s1);
            }
            if (strlen(s)>len) s[len]=0;
            }

            /*清除屏幕*/
            void CLSXY(int color,int x,int y,int xl,int yl)
            {
            int x1,y1;
            union REGS r;
            if(x<1||y<1) return;
            y--;
            x--;
            y1=y+yl-1;
            x1=x+xl-1;
            if (y1>25||x1>80)
            return;
            r.h.ah=6; /*子功能號*/
            r.h.al=0; /*滾動行數*/
            r.h.ch=y;
            r.h.cl=x;
            r.h.dh=y1;
            r.h.dl=x1;
            r.h.bh=color*16;
            int86(16,&r,&r);
            }


            /*顯示時間*/
            void display_time(int color,int back_color,int y,int x)
            {
            static char oldtime[9]="";
            char newtime[9];
            if(y<1||x<1) return;
            settextstyle(1,0,1);
            DATA(newtime,'S');
            back_color=7;
            if(strcmp(newtime,oldtime))
            {
            setfillstyle(1,back_color);
            setcolor(color);
            bar(535,458,635,475);
            outtextxy(x,y,newtime);
            strcpy(oldtime,newtime);
            }
            }


            /*打印一個矩形*/
            void PRINT_KJ(int x,int y,int wide,int high)
            {
            int i;
            for(i=x;i<x+wide;i+=2)
            {
            gotoxy(i,y);
            cprintf("");
            }
            gotoxy(x,y+high);
            cprintf("");
            gotoxy(x+wide,y+high);
            cprintf("");
            gotoxy(x,y);
            cprintf("");
            gotoxy(x+wide,y);
            cprintf("");
            for(i=x+2;i<x+wide;i+=2)
            {
            gotoxy(i,y+high);
            cprintf("");
            }
            for(i=y+1;i<y+high;i++)
            {
            gotoxy(x,i);
            cprintf("");
            }
            for(i=y+1;i<y+high;i++)
            {
            gotoxy(x+wide,i);
            cprintf("");
            }
            }

            /*砍掉字符串中所有空格*/
            void CUT_ALL_SPC(char *s)
            {
            int i,n;
            char d[10000];
            n=0;
            for(i=0;i<strlen(s);i++)
            if(s!=32)
            {
            d[n]=s;
            n++;
            }
            d[n]=0;
            strcpy(s,d);
            }


            /*取子字符串*/
            void MID(char *s,char *t,int n,int m)
            {
            int i,j,p;
            if(n<1) n=1;
            i=strlen(s);
            if(i<n) m=0;
            if(m<0) m=i;
            else m=n+m-1;
            if(m>i) m=i;
            p=m-n+1;
            if(p<0) p=0;
            for(i=n-1,j=0;i<m;i++,j++)
            t[j]=s;
            t[p]=0;
            }


            /*從文件中讀取字符*/
            int READ_STR(char *s,FILE *fp)
            {
            int i=0;
            if(!fp) return 0;
            if(fgets(s,10000,fp)) i=1;
            s[strlen(s)-1]=0;
            return i;
            }

            /*字符串左靠齊*/
            void MOVE_LEFT(char *d,char *s,int n)
            {
            int i,l;
            l=strlen(s);
            if(n>l) n=l;
            for(i=0;i<l;i++)
            *d++=*s++;
            *d=0;
            }

            /*取左字符串*/
            void LEFT(char *d,char *s,int n)
            {
            int i,l;
            i=0;
            l=strlen(s);
            if(n>l) n=l;
            for(i=0;i<n;i++)
            d=s;
            d[n]=0;
            }


            /*向文件寫數據*/
            void WRITE_STR(char *s,FILE *fp)
            {
            char c=10;
            if(!fp) return;
            fputs(s,fp);
            fputc(c,fp);
            }

            /*取右字符串*/
            void RIGHT(char *dest,char *source,int num)
            {
            int i,j;
            if (num<1) num=0;
            num=strlen(source)-num;
            if (num<0) num=0;
            for(i=0,j=num;j<=strlen(source);i++,j++) dest=source[j];
            }


            /*打開或關閉光標*/
            void CURSOR(int on2off)
            {
            union REGS r;
            if (on2off!=OFF) on2off=10;
            r.h.ah=1;
            r.h.ch=3;
            r.h.cl=on2off;
            int86(16,&r,&r);
            }

            /*喇叭發聲*/
            void SOUND(int frequency,int time)
            {
            int i;
            i=time*50;
            if (i>30000) i=30000;
            if (i<50) i=50;
            sound(frequency);
            MYDELAY(i);
            nosound();
            }

            /*時間延遲*/
            void MYDELAY(long t)
            {
            time_t OldTime;
            long t0;
            t0=t/55;
            if (t0<1) t0=1;
            OldTime=clock();
            while(clock()-OldTime<t0);
            }


            /*正點報時*/
            void REPORT_CLOCK(void)
            {
            int i;
            for(i=0;i<5;i++);
            {
            SOUND(500,10);
            MYDELAY(1000);
            }
            SOUND(800,10);
            }


            /*寫整數于文件中*/
            void WRITE_INT(int num,FILE *p)
            {
            char s[20],a=10;
            if (!p) return;
            itoa(num,s,10);
            fputs(s,p);
            fputc(a,p);
            }


            /*從文件中讀取整數*/
            int READ_INT(int *num,FILE *p)
            {
            int i;
            char s[30]="";
            if (!p) return 0;
            if (fgets(s,10000,p))
            {
            i=-1;
            s[strlen(s)-1]=0;
            *num=atoi(s);
            }
            else i=0;
            return i;
            }


            /*報警 */
            void WARN(void)
            {
            SOUND(300,1);
            SOUND(100,1);
            }


            /*字符串右靠齊*/
            void MOVE_RIGHT(char *s,int wide)
            {
            int i,l,n;
            l=strlen(s);
            n=wide-l;
            if (n>0)
            {
            for(i=l;i>-1;i--) s[i+n]=s;
            for(i=0;i<n;i++) s=32;
            }
            }


            /*字符串居中*/
            void MOVE_MIDDLE(char *s,int wide)
            {
            int i,l,n;
            l=strlen(s);
            if (wide>l)
            {
            wide=wide-1;
            n=wide/2;
            wide=wide-n;
            for(i=l;i>-1;i--) s[i+n]=s;
            for(i=0;i<n;i++) s=32;
            for(i=0;i<wide;i++) s[l+n+i]=32;
            s[l+n+i]=0;
            }
            }

            /*刪除子字符串*/
            void Delete_SubString(char *source,int start,int num)
            {
            int i,l;
            l=strlen(source);
            if (num>l-start+1||num==-1) num=l-start+1;
            if (start<1||start>1) return;
            for(i=start;i<l-num+2;i++)
            source[i-1]=source[i+num-1];
            }

            /*查找指定字符串*/
            int INSTR(int n,char *source,char *dest)
            {
            int i,j,k1,k2,p;
            int start=0;
            if (n==0) n=1;
            k1=strlen(source);
            k2=strlen(dest);
            if (n<0)
            {
            char s[100];
            n=-n;
            MID(s,source,n,k2);
            if (strcmp(s,dest)) return 0;
            return n;
            }
            if (k1-n+1<k2) return start;
            for(i=n-1;i<k1;i++)
            {
            p=0;
            for(j=0;j<k2;j++)
            if (source[i+j]!=dest[j]) break;
            else p++;
            if (p==k2)
            {
            start=i+1;
            break;
            }
            }
            return start;
            }


            /*產生空格*/
            void SPACE(char *s,int n)
            {
            int i;
            if (n<0) n=0;
            for(i=0;i<n;i++) *s++=32;
            *s=0;
            }


            /*產生字符串*/
            void STRING(int n,char *s1,char *s2)
            {
            int i;
            if (n<0) n=0;
            s1[0]=0;
            for(i=1;i<=n;i++) strcat(s1,s2);
            }


            /*砍掉字符串左邊空格*/
            void CUT_LEFT_SPACE(char *s)
            {
            int i,j,k=0;
            i=strlen(s)+1;
            for(j=0;j<i;j++) if (s[j]!=' ') break;
            for(k=0;j<i;k++,j++) s[k]=s[j];
            }
            /*砍掉字符串右邊空格*/
            void CUT_RIGHT_SPACE(char *s)
            {
            int i,j;
            i=strlen(s)-1;
            for(j=i;j>-1;j--) if (s[j]!=' ') break;
            s[j+1]=0;
            }

            /*顯示一個字符串*/
            void DISPLAY(char *s)
            {
            union REGS regs;
            int color,x,y;
            x=wherex();
            y=wherey();
            color=16*bjys+qjys;
            while(*s)
            {
            if(x>80) break;
            regs.h.ah=9;
            regs.h.al=*s;
            regs.h.bh=0;
            regs.h.bl=color;
            regs.x.cx=1; /*顯示的次數,不改變光標位置*/
            int86(16,&reg;s,&reg;s);
            x++;
            if(x>80)
            {
            x=1;
            y++;
            if(y>25) y=25;
            }
            gotoxy(x,y);
            s++;
            }
            }

            /*定義屏幕顏色*/
            void COLOR(int ForeColor,int BackColor)
            {
            if(ForeColor<0||ForeColor>15) return;
            if(BackColor<0||BackColor>15) return;
            qjys=ForeColor;
            bjys=BackColor;
            }

            /*顯示提示窗口*/
            void quit_YesNo(char *s1,char *s2)
            {
            char buffer[2000],jx;
            gettext(30,8,76,16,buffer);
            textbackground(3);
            CLSXY(8,32,9,30,6);
            CLSXY(4,30,8,30,6);
            COLOR(15,4);
            gotoxy(35,10);
            DISPLAY(s1);
            gotoxy(35,12);
            DISPLAY(s2);
            gotoxy(35+strlen(s2)+1,12);
            jx=getch();
            puttext(30,8,76,16,buffer);
            if (jx=='n'||jx=='N') return;
            textbackground(0);
            textcolor(15);
            clrscr();
            CURSOR(ON);
            exit(0);
            }

            /*顯示警告窗口*/
            void warn_message(char *s1,char *s2)
            {
            char buffer[2000];
            gettext(30,8,76,16,buffer);
            CLSXY(8,32,9,30,6);
            CLSXY(4,30,8,30,6);
            COLOR(15,4);
            gotoxy(35,10);
            DISPLAY(s1);
            gotoxy(35,12);
            DISPLAY(s2);
            gotoxy(40,13);
            DISPLAY("按任意鍵繼續...");
            getch();
            puttext(30,8,76,16,buffer);
            }

            /*得到文件長度*/
            long GetFileLength(char *file)
            {
            FILE *fp;
            int i;
            if ((fp=fopen(file,"rb"))==NULL)
            {
            clrscr();
            printf("Can't open the file %s .",file);
            return 0;
            }
            i=0;
            while(!feof(fp))
            {
            i++;
            fgetc(fp);
            }
            fclose(fp);
            return (i-1);
            }

            /*窗口滾屏*/
            void WINDOW_ROLL(int y1,int x1,int yl,int xl,int direct)
            {
            union REGS regs;
            int x2,y2;
            x1--;
            y1--;
            x2=x1+xl-1;
            y2=y1+yl-1;
            regs.h.ah=5+direct; /*ah=06h 向上滾動當前頁*/
            /*ah=07h 向下。。。 */
            regs.h.al=1;
            regs.h.bh=16*pmbj+pmqj;
            regs.h.ch=y1; /*左上角行*/
            regs.h.cl=x1; /*列*/
            regs.h.dh=y2; /*右下角行*/
            regs.h.dl=x2; /*列*/
            int86(16,&reg;s,&reg;s);
            }

            /*掃描鍵盤*/
            int scan_keyboard(int *m)
            {
            union inkey
            {
            unsigned char ch[2];
            int ii;
            }cc;
            while(!bioskey(1))
            {;}
            cc.ii=bioskey(0);
            *m=cc.ch[1];
            return cc.ch[0];
            }

            /*插入字符串*/
            void INSERT_STRING(char *ds,char *ss,int n)
            {
            char s[100];
            MID(ds,s,n,-1);
            ds[n-1]=0;
            strcat(ds,ss);
            strcat(ds,s);
            }
            void STR_ADD_CHAR(char *s,char ch)
            {
            char s1[2];
            s1[0]=ch;
            s1[1]=0;
            strcat(s,s1);
            }

            /*檢測磁盤是否準備就緒*/
            int CheckDiskReading(int n)
            {
            int result;
            char buffer[512];
            result=biosdisk(4,n,0,0,0,1,buffer);
            result=result&0x02;
            if (result!=0x02) return 0;
            return 1;
            }

            /*檢測磁盤是否寫保護*/
            int CheckDiskWriteProf(void)
            {
            int result;
            char buffer[512];
            result=biosdisk(5,0,0,0,0,1,buffer);
            if (result==0x03) return 0;
            return 1;
            }

            /*修改文件的某一行*/
            int ModifyFileLine(char *filename,char *s,int n)
            {
            char data[20][80];
            int i;
            FILE *fp;
            if ((fp=fopen(filename,"r"))==NULL) return 0;
            i=0;
            while(READ_STR(data,fp))
            i++;
            fclose(fp);
            fp=fopen(filename,"w");
            strcpy(data[n-1],s);
            n=i-1;
            for(i=0;i<=n;i++)
            WRITE_STR(data,fp);
            fclose(fp);
            return 1;
            }

            /*成批拷貝文件*/
            int CopyFile(char *sfile,char *dfile,int f2d,int barlong,int height,int x,int y)
            {
            int Copyfile(char *sf,char *df);
            int MakeNdir(char *Dir);
            char filename[200][13],d[40],s[40],s1[40];
            struct ffblk ffblk;
            int done,i,j,l,len;
            i=0;
            done=findfirst(sfile,&ffblk,0);
            if (!done) strcpy(filename,ffblk.ff_name);
            while(!done)
            {
            done=findnext(&ffblk);
            if (!done)
            {
            i++;
            strcpy(filename,ffblk.ff_name);
            }
            }
            if (f2d)
            {
            Copyfile(sfile,dfile);
            return 1;
            }
            strcpy(s,sfile);
            l=strlen(sfile);
            for(j=l-1;j>=0;j--)
            if (s[j]=='\\')
            {
            s[j+1]=0;
            break;
            }

            /*拷貝一個文件*/
            int Copyfile(char *sf,char *df)
            {
            FILE *in,*out;
            char ch;
            in=0;
            out=0;
            if ((in=fopen(sf,"rb"))==NULL)
            exit(0);
            if ((out=fopen(df,"wb"))==NULL)
            exit(0);
            while(!feof(in))
            {
            ch=fgetc(in);
            if (ferror(in)) return 0;
            fputc(ch,out);
            if (ferror(out)) return 0;
            }
            fclose(in);
            fclose(out);
            return 1;
            }

            /*建立目錄*/
            int MakeNdir(char *Dir)
            {
            int i,l,j;
            char s[10][40];
            j=0;
            l=strlen(Dir);
            for(i=0;i<l;i++)
            if (Dir=='\\')
            {
            LEFT(s[j],Dir,i);
            j++;
            }
            strcpy(s[j],Dir);
            for(i=0;i<=j;i++)
            if (access(s,0)) mkdir(s);
            return 1;
            }

            /*得到目錄*/
            int GetDir(char *dirF,char dataK[][14])
            {
            struct ffblk ffblk;
            int done;
            int i;
            i=0;
            done=findfirst(dirF,&ffblk,FA_DIREC);
            while(!done)
            {
            if (ffblk.ff_attrib==16||ffblk.ff_attrib==17)
            {
            strcpy(dataK,ffblk.ff_name);
            strcat(dataK,"\\");
            i++;
            }
            done=findnext(&ffblk);
            }
            return i;
            }

            /*得到文件名*/
            int GetFile(char *dirF,char dataK[][14])
            {
            struct ffblk ffblk;
            int done;
            int i;
            i=0;
            done=findfirst(dirF,&ffblk,0);
            while(!done)
            {
            strcpy(dataK,ffblk.ff_name);
            done=findnext(&ffblk);
            i++;
            }
            return i;
            }
            
            /*任意兩個正整數相加(<80位)*/
            /*參數說明:numA,numB分別為加數和被加數,result存放相加后的結果*/
            void add(char *numA,char *numB,char *result)
            {
            int i,j,a,b,c,jw,Alen,Blen; /*定義變量*/
            char num[81];
            char numC[81]; /*定義新的字串,長度與numA相同*/
            char ch;
            char s[1];
            num[0]=0;
            numC[0]=0;
            if (strlen(numA)>=80) return;
            if (strlen(numB)>=80) return;
            for(i=0;i<strlen(numA);i++) /*判斷輸入數是否非法*/
            if (!isdigit(numA)) return; /*如果非法返回結果為空*/
            for(i=0;i<strlen(numB);i++)
            if (!isdigit(numB)) return;
            if (strlen(numA)<strlen(numB)) /*將較大的數放入numA中*/
            {
            strcpy(num,numA);
            strcpy(numA,numB);
            strcpy(numB,num);
            num[0]=0;
            }
            Alen=strlen(numA);
            Blen=strlen(numB);
            strcpy(numC,numB);
            for(i=0;i<Alen;i++)
            numC[Alen-i-1]=numC[Blen-i-1];
            for(i=0;i<Alen-Blen;i++) /*在numC中插入n個0,使其長度等于numA*/
            numC='0';
            jw=0; /*進位*/
            for(i=0;i<Alen;i++)
            {
            s[0]=numA[Alen-i-1];
            s[1]=0;
            a=atoi(s);
            s[0]=numC[Alen-i-1];
            s[1]=0;
            b=atoi(s);
            c=a+b+jw;
            if (c>=10)
            {
            jw=1;
            c=c-10;
            }
            else jw=0;
            itoa(c,s,10);
            num=s[0];
            }
            if (jw==1) {num='1';num[i+1]=0;}
            else num=0;
            j=strlen(num);
            for(i=0;i<j/2;i++)
            {
            ch=num;
            num=num[j-i-1]; /*將num反轉*/
            num[j-i-1]=ch;
            }
            strcpy(result,num);
            return; /*返回相加結果*/
            }

            /*任意兩個正整數相乘*/
            /*參數說明:numA,numB 分別為乘數和被乘數,resultm存放積*/
            void mult(char *numA,char *numB,char *resultm)
            {
            int i,j,k,l,m,a,b,c,jw,Alen,Blen,f; /*定義變量*/
            char resulta[82];
            char num[161];
            char ch;
            char s[1];
            num[0]=0;
            f=0;
            if (strlen(numA)>=80) return;
            if (strlen(numB)>=80) return;
            for(i=0;i<strlen(numA);i++) /*判斷輸入數是否非法*/
            if (!isdigit(numA)) return; /*如果非法返回結果為空*/
            for(i=0;i<strlen(numB);i++)
            if (!isdigit(numB)) return;
            if (strlen(numA)<strlen(numB)) /*將較大的數放入numA中*/
            {
            strcpy(num,numA);
            strcpy(numA,numB);
            strcpy(numB,num);
            num[0]=0;
            }
            Alen=strlen(numA);
            Blen=strlen(numB);
            strcpy(resultm,"0");
            for(i=0;i<Blen;i++)
            {
            s[0]=numB[Blen-i-1];
            s[1]=0;
            c=atoi(s);
            strcpy(resulta,numA);
            if (c==0) strcpy(resulta,"0");
            for(j=0;j<c-1;j++) {add(resulta,numA,resulta);}
            l=strlen(resulta);
            for(k=0;k<i;k++)
            {
            resulta[l+k]='0';
            resulta[l+k+1]=0;
            }
            add(resultm,resulta,resultm);
            }
            }
            Posted on 2005-12-02 16:08 艾凡赫 閱讀(493) 評論(0)  編輯 收藏 引用 所屬分類: C語言
            久久久婷婷五月亚洲97号色| 成人亚洲欧美久久久久| 久久人妻少妇嫩草AV蜜桃| 久久久久久亚洲AV无码专区| 久久国产精品成人免费 | 久久精品成人免费观看97| 四虎国产精品成人免费久久| 伊人久久大香线蕉av一区| 91亚洲国产成人久久精品网址| 久久久久久亚洲精品影院| 中文字幕成人精品久久不卡| 久久精品国产亚洲AV香蕉| 国产高潮国产高潮久久久91| 亚洲国产精品无码久久SM| 久久人妻少妇嫩草AV蜜桃| 久久综合九色综合精品| 亚洲∧v久久久无码精品| 久久久久久极精品久久久| 99re久久精品国产首页2020| 亚洲人成精品久久久久| 久久青青色综合| 亚洲欧美精品一区久久中文字幕 | 狠狠色丁香婷婷久久综合不卡| 久久精品一区二区| 久久久久婷婷| 国产99久久久国产精品~~牛| 久久天天躁狠狠躁夜夜avapp| 2020久久精品亚洲热综合一本| 久久久精品视频免费观看| 99久久综合国产精品二区| 狠狠色婷婷久久一区二区三区| 麻豆一区二区99久久久久| 欧美午夜精品久久久久免费视| 久久久久亚洲AV无码麻豆| 亚洲AV成人无码久久精品老人| 亚洲日本va中文字幕久久| 亚洲va久久久噜噜噜久久| 国产精品久久一区二区三区| 国内精品久久久久久99| 色欲久久久天天天综合网 | 99久久精品免费观看国产|