精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C語言操作時間函數,實現定時執行某個任務小程序

開發 后端
時間操作函數在實際項目開發中會經常用到,最近做項目也正好用到就正好順便整理一下。

 [[345952]]

時間操作函數在實際項目開發中會經常用到,最近做項目也正好用到就正好順便整理一下。

時間概述

 

 


由上圖可知:

 

 

1.通過系統調用函數time()可以從內核獲得一個類型為time_t的1個值,該值叫calendar時間,即從1970年1月1日的UTC時間從0時0分0妙算起到現在所經過的秒數。而該時間也用于紀念UNIX的誕生。

2.函數gmtime()、localtime()可以將calendar時間轉變成struct tm結構體類型變量中。通過該結構體成員可以很方便的得到當前的時間信息。我們也可以通過函數mktime將該類型結構體的變量轉變成calendar時間。

  1. struct tm{ 
  2.  int tm_sec;/*秒數*/ 
  3.  int tm_min; /*分鐘*/ 
  4.  int tm_hour;/*小時*/ 
  5.  int tm_mday;/*日期*/ 
  6.  int tm_mon; /*月份*/ 
  7.  int tm_year; /*從1990年算起至今的年數*/ 
  8.  int tm_wday; /*星期*/ 
  9.  int tm_yday; /*從今年1月1日算起至今的天數*/ 
  10.  int tm_isdst; /*日光節約時間的旗標*/ 
  11. }; 

3.asctime()和ctime()函數產生形式的26字節字符串,這與date命令的系統默認輸出形式類似:Tue Feb 10 18:27:38 2020/n/0.

4.strftime()將一個struct tm結構格式化為一個字符串。

常用時間函數及舉例

1、time函數

  1. 頭文件:time.h 
  2. 函數定義:time_t time (time_t *t) 
  3. 說明: 
  4.  返回從1970年1月1日的UTC時間從0時0分0妙算起到現在所經過的秒數。 

舉例如下:

  1. #include<stdio.h> 
  2. #include<time.h> 
  3. int main(){ 
  4.  time_t timep; 
  5.   
  6.  long seconds = time(&timep); 
  7.  printf("%ld\n",seconds); 
  8.  printf("%ld\n",timep); 
  9.  return 0; 

輸出:

有興趣的同學可以計算下,從1970年1月1日0時0分0秒到現在經歷了多少秒。

 

附:time_t 一路追蹤發現就是從long類型經過不斷的typedef ,#define定義過來的。

2、ctime函數

  1. 定義:char *ctime(const time_t *timep); 
  2. 說明:將參數所指的time_t結構中的信息轉換成真實世界的時間日期表示方法,然后將結果以字符串形式返回。 
  3. 注意這個是本地時間。 

舉例如下:

  1. #include <stdio.h> 
  2. #include<time.h> 
  3. int main(void) { 
  4.  time_t timep; 
  5.   
  6.  time(&timep); 
  7.  printf("%s\n",ctime(&timep)); 
  8.  return 0; 

輸出:

 

3、gmtime函數

  1. 定義:struct tm *gmtime(const time_t *timep); 
  2. 說明:將參數timep所指的time_t結構中的信息轉換成真實世界所使用的時間日期表示方法,然后將結果由結構tm返回。此函數返回的時間日期未經時區轉換,而是UTC時間。 

舉例如下:

  1. #include <stdio.h> 
  2. #include<time.h> 
  3.   
  4. int main(void) { 
  5.  char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; 
  6.   
  7.  time_t timep; 
  8.  struct tm *p; 
  9.   
  10.  time(&timep); 
  11.  p = gmtime(&timep); 
  12.  printf("%d/%d/%d ",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday); 
  13.  printf("%s %d:%d:%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec); 
  14.  return 0; 

輸出:

 

4、 strftime函數

  1. #include <time.h>  
  2. 定義:   
  3. size_t strftime(char *s, size_t max, const char *format,const struct tm *tm); 
  4. 說明: 
  5. 類似于snprintf函數,我們可以根據format指向的格式字符串,將struct tm結構體中信息輸出到s指針指向的字符串中,最多為max個字節。當然s指針指向的地址需提前分配空間,比如字符數組或者malloc開辟的堆空間。 
  6. 其中,格式化字符串各種日期和時間的詳細的確切表示方法有如下多種,我們可以根據需要來格式化各種各樣的含時間字符串。 
  7.     %a 星期幾的簡寫 
  8.     %A 星期幾的全稱 
  9.     %b 月分的簡寫 
  10.     %B 月份的全稱 
  11.     %c 標準的日期的時間串 
  12.     %C 年份的前兩位數字 
  13.     %d 十進制表示的每月的第幾天 
  14.     %D 月/天/年 
  15.     %e 在兩字符域中,十進制表示的每月的第幾天 
  16.     %F 年-月-日 
  17.     %g 年份的后兩位數字,使用基于周的年 
  18.     %G 年分,使用基于周的年 
  19.     %h 簡寫的月份名 
  20.     %H 24小時制的小時 
  21.     %I 12小時制的小時 
  22.     %j 十進制表示的每年的第幾天 
  23.     %m 十進制表示的月份 
  24.     %M 十時制表示的分鐘數 
  25.     %n 新行符 
  26.     %p 本地的AM或PM的等價顯示 
  27.     %r 12小時的時間 
  28.     %R 顯示小時和分鐘:hh:mm 
  29.     %S 十進制的秒數 
  30.     %t 水平制表符 
  31.     %T 顯示時分秒:hh:mm:ss 
  32.     %u 每周的第幾天,星期一為第一天 (值從0到6,星期一為0) 
  33.     %U 第年的第幾周,把星期日做為第一天(值從0到53) 
  34.     %V 每年的第幾周,使用基于周的年 
  35.     %w 十進制表示的星期幾(值從0到6,星期天為0) 
  36.     %W 每年的第幾周,把星期一做為第一天(值從0到53) 
  37.     %x 標準的日期串 
  38.     %X 標準的時間串 
  39.     %y 不帶世紀的十進制年份(值從0到99) 
  40.     %Y 帶世紀部分的十制年份 
  41.     %z,%Z 時區名稱,如果不能得到時區名稱則返回空字符。 
  42.     %% 百分號 
  43. 返回值: 
  44. 成功的話返回格式化之后s字符串的字節數,不包括null終止字符,但是返回的字符串包括null字節終止字符。否則返回0,s字符串的內容是未定義的。值得注意的是,這是libc4.4.4以后版本開始的。對于一些的老的libc庫,比如4.4.1,如果給定的max較小的話,則返回max值。即返回字符串所能容納的最大字節數。 

舉例如下:

  1.  1 #include <stdio.h> 
  2.  2 #include <time.h> 
  3.  3  
  4.  4 #define BUFLEN 255 
  5.  5 int main(int argc, char **argv) 
  6.  6 { 
  7.  7     time_t t = time( 0 );    
  8.  8     char tmpBuf[BUFLEN];    
  9.  9                                                                              
  10. 10     strftime(tmpBuf, BUFLEN, "%Y%m%d%H%M%S", localtime(&t)); //format date a 
  11. 11     printf("%s\n",tmpBuf); 
  12. 12     return 0; 
  13. 13 } 

執行結果如下:

輸出結果表示YYYYmmDDHHMMSS

 

5、 asctime函數

  1. 定義: 
  2. char *asctime(const struct tm *timeptr); 
  3. 說明: 
  4.  將參數timeptr所指的struct tm結構中的信息轉換成真實時間所使用的時間日期表示方法,結果以字符串形態返回。與ctime()函數不同之處在于傳入的參數是不同的結構。 
  5. 返回值: 
  6.  返回的也是UTC時間。 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4. int main(void) { 
  5.  time_t timep; 
  6.   
  7.  time(&timep); 
  8.  printf("%s\n",asctime(gmtime(&timep))); 
  9.  return EXIT_SUCCESS; 

輸出:

 

6、 localhost函數

  1. struct tm *localhost(const time_t *timep); 
  2. 取得當地目前的時間和日期 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4.   
  5. int main(void) { 
  6.  char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; 
  7.  time_t timep; 
  8.  struct tm *p; 
  9.   
  10.  time(&timep); 
  11.  p = localtime(&timep); 
  12.  printf("%d/%d/%d ",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday); 
  13.  printf("%s %d:%d:%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec); 
  14.  return EXIT_SUCCESS; 

輸出:

 

7、mktime函數

  1. 定義:time_t mktime(struct tm *timeptr); 
  2. 說明: 
  3.  用來將參數timeptr所指的tm結構數據轉換成從1970年1月1日的UTC時間從0時0分0妙算起到現在所經過的秒數。 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4.   
  5. int main(void) { 
  6.  time_t timep; 
  7.  struct tm *p; 
  8.   
  9.  time(&timep); 
  10.  printf("time():%ld\n",timep); 
  11.  p = localtime(&timep); 
  12.  timep = mktime(p); 
  13.  printf("time()->localtime()->mktime():%ld\n",timep); 
  14.  return EXIT_SUCCESS; 

輸出:

 

8、 gettimeofday函數

  1. 定義: 
  2. int gettimeofday(struct timeval *tv,struct timezone *tz); 
  3. 說明: 
  4.  把目前的時間由tv所指的結構返回,當地時區信息則放到有tz所指的結構中, 

結構體timeval 定義如下:

  1. struct timeval{ 
  2.  long tv_sec; /*秒*/ 
  3.  long tv_usec; /*微秒*/ 
  4. }; 

結構體timezone定義如下:

  1. struct timezone{ 
  2.  int tz_minuteswest; /*和greenwich時間差了多少分鐘*/ 
  3.  int tz_dsttime; /*日光節約時間的狀態*/ 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4. #include<sys/time.h> 
  5.   
  6. int main(void) { 
  7. struct timeval tv; 
  8. struct timezone tz; 
  9. gettimeofday(&tv,&tz); 
  10. printf("tv_sec :%d\n",tv.tv_sec); 
  11. printf("tv_usec: %d\n",tv.tv_usec); 
  12. printf("tz_minuteswest:%d\n",tz.tz_minuteswest); 
  13. printf("tz_dsttime:%d\n",tz.tz_dsttime); 
  14. return EXIT_SUCCESS; 

輸出:

 

 

綜合實驗

現在我們利用這些時間函數,來實現一個定時執行某個任務得功能。

功能

  1. 程序運行時要記錄當前日志文件的最后修改時間;
  2. 每個10秒鐘就檢查下log文件是否被修改,如果沒有被修改就休眠10秒鐘;
  3. 如果log文件被修改了,就將當前的日志文件拷貝成備份文件,備份文件名字加上當前時間;
  4. 通過curl發送給ftp服務器;
  5. 刪除備份文件,重復步驟2。

程序流程圖如下:

 

在這里插入圖片描述

 

函數功能介紹

init()

首先記錄當前log文件時間,并記錄到全局變量last_mtime中。

check_file_change()讀取文件最后修改時間,并和last_mtime進行比較,如果相同就返回0,不同就返回1.

file_name_add_time()將當前的日志文件拷貝成備份文件,備份文件名字加上當前時間。

stat()

得到對應文件的屬性信息,存放到struct stat結構體變量中。

運行截圖:

第一步:

 

因為log文件沒有被修改過,所以程序不會上傳。

 

第二步:手動輸入字符串 yikoulinux 到日志文件 t.log中。

 

第三步:因為文件發生了改變,所以打印“file updated”,同時可以看到curl上傳文件的log信息。


以下是FTP服務器的根目錄,可以看到,上傳的日志文件:t-2020-7-26-1-19-45.log。

 

 

 

 

【補充】

1.配置信息,直接在代碼中寫死,通常應該從配置文件中讀取,為方便讀者閱讀,本代碼沒有增加該功能;

2.FTP服務器搭建,本文沒有說明,相關文件比較多,大家可以自行搜索,一口君用的是File zilla;

 

3.通常這種需要長時間運行的程序,需要設置成守護進程,本文沒有添加相應功能,讀者可以自行搜索。如果強烈要求可以單開一篇詳細介紹。

4.代碼中time的管理函數,請讀者自行搜索相關文章。

5.curl也提供了相關的函數庫curl.lib,如果要實現更靈活的功能可以使用對應的api。

之所以先把文件拷貝成備份文件,主要是考慮其他模塊隨時可能修改日志文件,起到一定保護作用。

代碼如下

代碼如下:

  1. /*************************************************** 
  2.            Copyright (C)  公眾號: 一口linux   
  3. ***************************************************/ 
  4. #include <sys/stat.h> 
  5. #include <stdio.h> 
  6. #include <stdlib.h> 
  7. #include <unistd.h> 
  8. #include <time.h> 
  9.   
  10. typedef struct stat ST; 
  11. unsigned long last_mtime; 
  12.  
  13. /*用戶名密碼暫時寫死,實際應該保存在配置文件*/ 
  14. char name[32]="user"
  15. char pass[32] ="123456"
  16. char ip[32]     ="192.168.43.117"
  17. char filename[32]="t.log"
  18. char dstfile[256]  ={0}; 
  19.  
  20. int init(void) 
  21.  //準備結構體 
  22.  ST status; 
  23.   
  24.  //調用stat函數 
  25.  int res = stat(filename,&status); 
  26.  if(-1 == res) 
  27.  { 
  28.   perror("error:open file fail\n"); 
  29.   return 0; 
  30.  } 
  31.  last_mtime = status.st_mtime; 
  32.  printf("init time:%s \n",ctime(&last_mtime)); 
  33.  return 1; 
  34.   
  35. int  check_file_change(void) 
  36.  //準備結構體 
  37.  ST status; 
  38.   
  39.  //調用stat函數 
  40.  int res = stat(filename,&status); 
  41.  if(-1 == res) 
  42.  { 
  43.   perror("error:open file fail\n"); 
  44.   return 0; 
  45.  } 
  46. // printf("old:%s new:%s",ctime(&last_mtime),ctime(&status.st_mtime)); 
  47.  if(last_mtime == status.st_mtime) 
  48.  { 
  49.   printf("file not change\n"); 
  50.   return 0; 
  51.  }else
  52.   printf("file updated\n");  
  53.   last_mtime = status.st_mtime; 
  54.   return 1; 
  55.  } 
  56.  
  57. void file_name_add_time(void) 
  58.  ST status; 
  59.  time_t t;   
  60.  struct tm *tblock;  
  61.  char cmd[1024]={0}; 
  62.    
  63.  t = time(NULL); 
  64.  tblock = localtime(&t); 
  65.   
  66.  sprintf(dstfile,"t-%d-%d-%d-%d-%d-%d.log"
  67.   tblock->tm_year+1900, 
  68.   tblock->tm_mon, 
  69.   tblock->tm_mday, 
  70.   tblock->tm_hour, 
  71.   tblock->tm_min, 
  72.   tblock->tm_sec); 
  73.  sprintf(cmd,"cp %s %s",filename,dstfile); 
  74. // printf("cdm=%s\n",cmd); 
  75.  system(cmd); 
  76. int main(void) 
  77.  
  78.  char cmd[1024]={0}; 
  79.  
  80.  init(); 
  81.  while(1) 
  82.  {  
  83.   if(check_file_change() == 1) 
  84.   { 
  85.    file_name_add_time(); 
  86.    sprintf(cmd,"curl -u %s:%s ftp://%s/ -T %s",name,pass,ip,dstfile); 
  87.  //  printf("cdm=%s\n",cmd); 
  88.    system(cmd); 
  89.    unlink(dstfile); 
  90.   } 
  91.   sleep(10);  
  92.  } 

本文轉載自微信公眾號「 一口Linux」,可以通過以下二維碼關注。轉載本文請聯系 一口Linux公眾號。

 

責任編輯:武曉燕 來源: 一口Linux
相關推薦

2012-02-07 13:31:14

SpringJava

2024-01-22 00:35:00

C++函數開發

2009-09-21 09:57:15

linux進程cron

2022-07-26 08:02:33

Android微信程序

2010-03-11 19:16:32

Python語言

2022-08-15 15:43:29

Linuxcron

2010-02-05 15:59:26

C++函數重載

2023-09-14 12:35:28

寄存器

2021-10-14 15:34:48

C語言字符串函數

2024-11-04 16:01:01

2020-12-21 07:31:23

實現單機JDK

2024-12-27 08:24:55

2010-06-09 15:15:34

MySQL定時執行

2010-07-15 14:54:51

at命令crontab定時執行任務

2019-08-28 07:45:45

數據存儲層多線程

2024-11-25 15:00:00

C#定時任務開發

2021-09-07 13:15:01

語言return 1return 0

2023-12-19 08:09:06

Python定時任務Cron表達式

2025-08-01 08:47:45

2022-03-28 08:31:29

線程池定時任務
點贊
收藏

51CTO技術棧公眾號

亚洲一区二区三区三| 亚洲日本免费电影| www.欧美日韩国产在线| 亚洲精品一区中文字幕乱码| 丰满少妇久久久| 超碰在线观看av| 亚洲麻豆一区| 亚洲国产另类久久精品 | 97久久夜色精品国产九色| 日操夜操天天操| 俺要去色综合狠狠| 91精品婷婷国产综合久久竹菊| av免费看网址| 亚洲色欧美另类| 美美哒免费高清在线观看视频一区二区| 九色精品美女在线| 国产精品久久久久无码av色戒| 中文字幕av资源| 好吊视频一区二区三区四区| 亚洲乱码一区av黑人高潮| 一本一道久久a久久综合蜜桃| 一个人看的视频www| 亚洲制服中文字幕| 1区2区3区在线| 欧美国产综合色视频| 亚洲在线第一页| 亚洲黄网在线观看| 久草热在线观看| 精品视频在线播放一区二区三区| 亚洲一区二区影院| 宅男在线精品国产免费观看| 日本啊v在线| 国产99久久久国产精品免费看| 国产精品视频大全| 久久久久黄色片| 无码国模国产在线观看| 日韩欧美中文免费| 久久久999视频| а天堂8中文最新版在线官网| 久久99国产精品麻豆| 日韩美女在线观看一区| 五月天婷婷丁香| 国产尤物精品| 欧美国产中文字幕| 免费在线看黄网址| 日韩精品免费一区二区在线观看| 欧美一区二区视频网站| jizz欧美激情18| 涩涩视频在线播放| 狠狠做深爱婷婷久久综合一区| 亚洲国产欧洲综合997久久| 欧美91精品久久久久国产性生爱| 岛国av在线一区| 日韩免费视频在线观看| 伦av综合一区| 噜噜爱69成人精品| 欧美最猛性xxxxx(亚洲精品)| 久久黄色免费网站| 欧美破处大片在线视频| 欧美裸体xxxx极品少妇| 色哟哟一一国产精品| 999精品在线| 日韩在线高清视频| 蜜桃av乱码一区二区三区| 中文字幕在线日本| 国产情侣一区在线| 91精选在线观看| 国产嫩草在线观看| 日本免费成人| 欧美视频一区二区三区在线观看| 91传媒久久久| 欧美1—12sexvideos| 亚洲制服丝袜一区| 波多野结衣 作品| 老司机av在线免费看| 亚洲精品国产一区二区精华液| 欧美黄网在线观看| av中文在线资源库| 欧美日韩国产精品专区| av高清在线免费观看| а√在线中文在线新版| 亚洲在线成人精品| 97超碰在线人人| 亚洲第一二三四区| 欧美丰满美乳xxx高潮www| 国产麻豆剧传媒精品国产| 日韩欧洲国产| 亚洲爱爱爱爱爱| 日本成人在线免费| 在线看成人短视频| 亚洲激情久久久| av女人的天堂| 好吊妞视频这里有精品 | 国产a级免费视频| 成人av电影在线网| 亚洲aⅴ男人的天堂在线观看| 亚洲国产精品一| 国产69精品久久久久毛片| 免费中文日韩| 男人天堂久久久| 成人免费一区二区三区在线观看| 日韩视频免费播放| 91超薄丝袜肉丝一区二区| 激情aⅴ欧美一区二区欲海潮| 午夜精品福利一区二区蜜股av| 久久99国产精品一区| 欧洲中文在线| 欧美日韩一区二区在线播放| 超碰网在线观看| 成人全视频免费观看在线看| 亚洲成人免费网站| 精品在线观看一区| 宅男噜噜噜66国产日韩在线观看| 国产专区精品视频| 国产喷水吹潮视频www| 成人综合婷婷国产精品久久| 国产欧美一区二区视频| 麻豆国产在线播放| 亚洲韩国精品一区| 黄色免费网址大全| 91精品尤物| 奇米色欧美一区二区三区| 亚洲国产成人精品久久| 欧美三级黄色大片| 日韩国产精品久久| 国产一区二区在线网站| www.在线播放| 亚洲成人午夜影院| 三级一区二区三区| 国产在视频线精品视频www666| 久久精品最新地址| 中文字幕精品无码亚| 91小视频在线免费看| 日韩a级在线观看| 成人免费观看49www在线观看| 亚洲福利视频免费观看| 天天干中文字幕| 久久国产精品色| 先锋影音一区二区三区| 亚洲最新无码中文字幕久久| 欧美韩一区二区| 一本色道久久综合狠狠躁篇的优点| 日本少妇毛茸茸高潮| 青青国产91久久久久久| 久久riav| 欧美办公室脚交xxxx| 欧美四级电影在线观看| 国产一线在线观看| 伊人情人综合网| 91人人爽人人爽人人精88v| av在线首页| 日韩欧美在线视频| 怡红院一区二区三区| 玖玖玖国产精品| 日本不卡在线播放| 僵尸再翻生在线观看| 7777精品伊人久久久大香线蕉| 免费在线观看a视频| 午夜性色一区二区三区免费视频| 国产日韩综合一区二区性色av| 五月婷婷综合久久| 欧美国产日韩a欧美在线观看| 欧美三级午夜理伦三级| 国产精品一线天粉嫩av| 5252色成人免费视频| 国产精品国产一区二区三区四区 | 91免费精品视频| 精品自拍一区| 在线播放一区二区三区| caoporn91| 国产999精品久久久久久绿帽| 国产奶头好大揉着好爽视频| 一区二区视频| 久久99视频免费| 色呦呦中文字幕| 亚洲国产一区二区视频| 精品国产人妻一区二区三区| 麻豆精品91| 亚洲欧洲日本在线| 北条麻妃av高潮尖叫在线观看| 成人羞羞动漫| 国产福利视频一区二区| 男人天堂亚洲二区| 欧美亚洲精品一区| 国产高潮国产高潮久久久91 | 成人亚洲一区| 国产精品高潮呻吟久久av无限| 午夜在线视频观看| 一本一道久久a久久精品| 加勒比av中文字幕| av中文字幕一区二区| 亚洲aⅴ男人的天堂在线观看 | 国产精品亚洲网站| 日本中文字幕在线2020| 日韩欧美黄色影院| 中文字幕高清在线免费播放| 久久久久久免费网| 亚洲一二区在线观看| 国产一区二区三区四区三区四 | 狠狠狠综合7777久夜色撩人| 欧美精品乱人伦久久久久久| 国产探花视频在线播放| 亚洲一区二区伦理| 欧美日韩一区二区三区在线视频| 亚洲福利影视| 欧美中文字幕视频| 天堂成人av| 在线精品高清中文字幕| 9.1成人看片免费版| 国产理论在线| 久久精品人人做人人爽| 色婷婷综合视频| 色婷婷亚洲精品| 免费在线一区二区三区| 久久嫩草精品久久久精品| 日本中文字幕二区| 久久天堂成人| 欧美另类videos| 国内精品久久久久久久影视简单| 26uuu欧美| 亚洲成熟丰满熟妇高潮xxxxx| 欧美1区3d| 任我爽在线视频精品一| 欧美精品中文字幕亚洲专区| 国产自摸综合网| 成人性生活视频| 久久国产精品偷| 日本三级视频在线播放| 亚洲视频综合网| 免费在线稳定资源站| 精品少妇一区二区三区日产乱码 | 91高清在线观看视频| 精品国产麻豆免费人成网站| 国产毛片在线视频| 日本电影亚洲天堂一区| 欧美一级高潮片| 国产区在线观看成人精品| 欧美成人三级伦在线观看| 国产白丝精品91爽爽久久| 熟女少妇在线视频播放| 成人高清电影网站| 色综合久久av| 卡通动漫精品一区二区三区| 91精品国产99久久久久久红楼| 国产91欧美| 久久免费视频网| 51xtv成人影院| 久久精品2019中文字幕| 99re在线视频| 色av吧综合网| 日本视频不卡| 欧美精品中文字幕一区| av网站大全在线| 欧美大胆在线视频| 看黄网站在线| 麻豆国产va免费精品高清在线| 免费a级人成a大片在线观看| 日韩亚洲精品电影| 黄色视屏免费在线观看| 久久高清视频免费| 久久综合久久色| 黑丝一区二区| aa在线观看视频| 亚洲综合色站| 国产成人一区二区三区别| 午夜视频精品| 少妇av一区二区三区无码| 亚洲老妇激情| 亚洲在线观看一区| 日韩欧美综合| 日韩国产一区久久| 人人狠狠综合久久亚洲婷| 欧美亚洲免费高清在线观看 | 色先锋资源久久综合5566| 国产三级在线播放| 久久久av网站| 制服丝袜中文字幕在线| www.日本久久久久com.| 二区三区在线观看| 欧美极品美女电影一区| 亚洲欧美日韩天堂| 欧美成人视屏| 欧美国产中文字幕| 成人影院入口| 国产久一一精品| 国产成人77亚洲精品www| 国产精品99导航| 日韩一级二级| 91麻豆国产精品| 免费成人三级| 亚洲欧洲精品一区二区三区波多野1战4| 波多野结衣在线播放一区| 青少年xxxxx性开放hg| 91精品秘密在线观看| 黄色大片中文字幕| 老司机精品视频网站| 亚洲色图偷拍视频| 国产成人av电影免费在线观看| 国产三级视频网站| 亚洲欧洲制服丝袜| 四虎精品永久在线| 欧美一区二区精品在线| 色中色在线视频| 美女视频黄免费的亚洲男人天堂| 国产精品免费人成网站酒店| 久久动漫亚洲| 超碰91在线播放| 92精品国产成人观看免费| 亚洲色图 激情小说| 亚洲福利一二三区| 一级久久久久久| 精品欧美乱码久久久久久1区2区 | 综合欧美亚洲| 亚洲成人在线视频网站| 国产欧美日韩一区二区三区四区| 亚洲精品国产suv一区88| 日韩av一级片| 懂色av粉嫩av蜜乳av| 国产精品久久777777| 国产又粗又硬又长又爽| 国产三级一区二区| 加勒比av在线播放| 精品视频1区2区3区| 天堂网av2014| 日韩亚洲国产中文字幕| 欧亚在线中文字幕免费| 全球成人中文在线| 日韩精品一级| 欧美日韩成人一区二区三区| 狠狠久久婷婷| 国产一级片中文字幕| 97se亚洲国产综合在线| 久久久久久蜜桃| 国产欧美视频在线观看| 久久综合色综合| 国产三级精品视频| 国产乱子伦精品无码专区| 日本在线不卡一区| 日b视频在线观看| 一区二区三区成人| 日本久久综合网| 亚洲天堂第二页| 成人片免费看| 欧美另类一区| 久久亚洲视频| 国产肥白大熟妇bbbb视频| 精品福利免费观看| 丝袜视频国产在线播放| 亚洲va欧美va天堂v国产综合| 中文字幕在线观看国产| 亚洲最新中文字幕| 性高爱久久久久久久久| 日产精品一线二线三线芒果| 视频一区免费在线观看| 国产精品久久免费观看| 国产精品白丝jk黑袜喷水| 精品免费一区二区三区蜜桃| 国产一卡不卡| 四虎永久在线精品无码视频| 久久综合给合久久狠狠狠97色69| 日韩欧美国产成人精品免费| 欧美人体做爰大胆视频| 完全免费av在线播放| 色综合久久悠悠| 国产精品久久久久久久久免费高清| 国产精品推荐精品| 国内久久视频| 国产网站无遮挡| 色老汉一区二区三区| 91视频在线观看| 91久久嫩草影院一区二区| 欧美午夜一区| 成年人网站av| 亚洲成人激情av| 欧美性受xxxx狂喷水| 69精品小视频| 成人高清电影网站| 师生出轨h灌满了1v1| 久久精品视频免费观看| 亚洲av无码一区二区三区在线| 欧美成人video| 综合久久2023| 亚洲欧洲国产精品久久| 国产不卡在线视频| 中文字幕一区二区三区四区欧美| 丝袜美腿亚洲一区二区| 57pao成人永久免费| 久草视频国产在线| 久久久国产午夜精品 | xx欧美视频| 欧美与动交zoz0z| 91看片淫黄大片一级在线观看| 波多野结衣理论片| 在线国产精品播放| 这里视频有精品| 国产99久久九九精品无码| 欧美国产日韩一二三区| 好吊色一区二区三区| 国产福利精品在线| 国产综合婷婷|