日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stringcstdlibctimecstdargctimectypecmathclimits

發布時間:2023/12/4 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stringcstdlibctimecstdargctimectypecmathclimits 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載地址:http://blog.csdn.net/kz_ang/article/details/7767335

<string>頭文件

string構造函數

string s  生成一個空字符串s
string s(str)  拷貝構造函數,生成str對象的復制品
string s(str,stridx)  將字符串str對象內"始于位置stridx"的部分當作字符串的初值
string s(str,stridx,strlen)  將字符串str對象始于stridx且最長為strlen部分作為字符串的初值
string s(cstr)  將C字符串作為s的初值
string s(chars,chars_len)  將C字符串前chars_len個字符作為字符串s的初值
string s(num,c)  生成一個字符串,包含num個c字符
string s(beg,end)  以區間(迭代器iterator )beg到end(不包含end)內的字符作為字符串s的初值

string析構函數

s.~string()  銷毀所有字符,釋放內存

賦值操作

重載=操作符

basic_string& operator=(const basic_string& rhs)
basic_string& operator=(const E *s)
basic_string& operator=(E c)

string對象= string對象 /?字符串("gaint") /?字符( ' j ')

assign()函數

s.assign(str)  把str對象賦給s對象
s.assign(str,pos,n)  把string 對象中從(下標)pos的后n個元素賦值給s
s.assign(str,pos,string::npos)  把字符串str從索引值p開始到結尾賦給s
s.assign(char_string)  把字符串賦值給s對象
s.assign(char_string,num)  把字符串前num個字符'賦給s對象
s.assign(first,last)  把(迭代器iterator )first和last之間的部分賦給字符串
s.assign(num,char_x)  把num個字符賦給s對象

交字符對象內容

void swap(basic_string& str)  把s與str對象的內容交換

尾部添加字符

重載+=?操作符

basic_string& operator+=(const basic_string& rhs)
basic_string& operator+=(const E *s)
basic_string& operator+=(E c)

string對象+= string對象 /?字符串("gaint") /?字符( ' j ')

append()函數

s.append(str)  把str對象t添加到s對象末尾
s.append(str,pos,num)  把string對象中從(下標)pos的后num個元素添加到s對象末尾
s.append(char_string)  把字符串添加到s對象末尾
s.append(char_string.num)  把字符串的前num個字符添加到s對象末尾
s.append(first,last)  把(迭代器iterator )first到last中的元素添加到s末尾
s.append(num,char_x)  把num個字符添加到s對象末尾

push_back()函數

s.push_back(char_x)  把單個字符添加到s的尾部,這個函數只能增加單個字符

插入字符

insert()函數

basic_string& insert(size_type p0,const basic_string& str)
basic_string& insert(size_type p0,const basic_string& str, size_type pos, size_type n)
basic_string& insert(size_type p0,const E *s, size_type n)
basic_string& insert(size_type p0, const E *s)
basic_string& insert(size_type p0, size_type n, E c)
iterator insert(iterator it, E c)
void insert(iterator it, size_type n, E c)
void insert(iterator it,const_iterator first, const_iterator last)

刪除字符?erase() 函數

basic_string& erase(size_type p0 = 0, size_type n = npos)
iterator erase(iterator it)
iterator erase(iterator first, iterator last)

轉換為字符串數組

const E *c_str() const  將內容以C_string返回,一個以'\0'結尾的字符數組

替換字符

s.replace(pos ,num , str )  用str代替s中從pos開始的num個字符
s.replace(pos ,num , chars)  用字符串代替s中從pos開始的num個字符
s.replace(pos1,num1,str,pos2, num2)  用str中從pos2開始的num2個字符,代替s中從pos1開始的 num1個字符
s.replace(pos1,num1,chars, num2 )  用字符串中num2個字符,代替s中從pos1開始的num1個字符
s. replace(pos,num,count,char)  用count個字符,代替s中從 pos開始的num個字符
s.replace(First,Last,str )  用 string 代替s中從(迭代器iterator)First到Last的字符
s.replace(First,Last,chars)  用字符串代替s中從(迭代器iterator)First到Last的字符
s.replace(First0,Last0,chars, num )  用字符串的num個字符,代替s中從(迭代器iterator )First到Last的字符
s.replace(First0,Last0,First,Last )  用(迭代器iterator)First開始到Last的字符,代替s中從(迭代器iterator )First0到Last0的字符
s.replace(First,Last,count,char)  用count個字符,代替s中從(迭代器iterator )First到Last的字符

比較字符串

==
!=
<
<=
>
>=

支持string與c_string的比較(如 str<"hello"),字典排序靠前的字符小,比較的順序是從前向后比較,遇到不相等的字符就按這個位置上的兩個字符的比較結果確定兩個字符串的大小。同時,string ("aaaa") <string(aaaaa),compare()他支持多參數處理,支持用索引值和長度定位子串來進行比較。他返回一個整數來表示比較結果,返回值意義如下:0表相等 大于0表大于 小于0表小于

int compare(const basic_string& str) const;
int compare(size_type p0, size_type n0,const basic_string& str
int compare(size_type p0, size_type n0,const basic_string& str, size_type pos, size_type n)
int compare(size_type p0, size_type n0,const E *s) const
int compare(const E *s) const
int compare(size_type p0, size_type n0,const E *s, size_type pos) const

字符串長度

size_type size() const
size_type length() const

返回字符數量,他們等效

字符串最大個數

size_type max_size() const  返回字符串的可能最大個數,C++字符串最多能包含的字符數,很可能和機器本身的限制或者字符串所在位置連續內存的大小有關系

字符串是否為空

booempty() const  判斷字符串是否為空

重新指定字符數組長度

void resize(size_type n, E t = E())  重新指定字符數組長度的長度為n,元素值為t

新分配之前字符容量

size_type capacity() const  返回重新分配之前的字符容量

保留一定量內存以容納一定數量的字符

void reserve(size_type n = 0)  保留一定量內存以容納一定數量的字符,這個函數為string重新分配內存,重新分配的大小由其參數決定,默認參數為0,這時候會對string進行非強制性縮減

存取單一字符

const_reference at(size_type pos) const
reference at(size_type pos)
const_reference operator[](size_type pos) const
reference operator[](size_type pos)

從stream讀取某值

>>
getline()

從stream讀取某值

將謀值寫入stream

<<  將謀值寫入stream

復制string

size_type copy(E *s,size_type n, size_type pos = 0) const  將某值賦值為一個C_string,把字符串的內容復制或寫入既有的c_string或字符數組內

返回字符數組形式

const E *data() const  將內容以字符數組形式返回,但并不添加’\0’

返回某個子字符串

basic_string substr(size_type pos = 0, size_type n = npos) const

搜索與查找

這些函數返回符合搜索條件的字符區間內的第一個字符的索引,沒找到目標就返回npos.所有的函數的參數說明如下:第一個參數是被搜尋的對象.第二個參數(可有可無)指出string內的搜尋起點索引,第三個參數(可有可無)指出搜尋的字符個數

size_type find(const basic_string& str,size_type pos = 0) const
size_type find(const E *s, size_type pos, size_type n) const
size_type find(const E *s, size_type pos = 0) const
size_type find(E c, size_type pos = 0) const
size_type find(E c, size_type pos = 0) const
size_type rfind(const basic_string& str,size_type pos = npos) const
size_type rfind(const E *s, size_type pos,size_type n = npos) const
size_type rfind(const E *s, size_type pos = npos) const
size_type rfind(E c, size_type pos = npos) const
size_type find_first_of(const basic_string& str,size_type pos = 0) const
size_type find_first_of(const E *s, size_type pos,size_type n) const
size_type find_first_of(const E *s, size_type pos = 0) const
size_type find_first_of(E c, size_type pos = 0) const
size_type find_last_of(const basic_string& str,size_type pos = npos) const
size_type find_last_of(const E *s, size_type pos,size_type n = npos) const
size_type find_last_of(const E *s, size_type pos = npos) const
size_type find_last_of(E c, size_type pos = npos) const
size_type find_first_not_of(const basic_string& str,size_type pos = 0) const
size_type find_first_not_of(const E *s, size_type pos,size_type n) const
size_type find_first_not_of(const E *s, size_type pos = 0) const
size_type find_first_not_of(E c, size_type pos = 0) const
size_type find_last_not_of(const basic_string& str,size_type pos = npos) const
size_type find_last_not_of(const E *s, size_type pos,size_type n) const
size_type find_last_not_of(E c, size_type pos = npos) const
size_type find_last_not_of(const E *s,size_type pos = npos) const

迭代器

正向迭代器

    • iterator begin()
    • const_iterator begin() const
    • iterator end()
    • const_iterator end() const

返回配置器

    • A get_allocator() const

逆向迭代器

    • reverse_iterator rbegin()
    • const_reverse_iterator rbegin() const
    • reverse_iterator rend()
    • const_reverse_iterator rend() const

npos

string::npos  string::npos的類型是string::size_type,所以,一旦需要把一個索引與npos相比,這個索引值必須是string::size_type類型的.是類的靜態成員,更多的情況下,我們可以直接把函數和npos進行比較(如:if(s.find("jia")== string::npos))

?


注意

  • C++字符串并不以’\0’結尾。我的建議是在程序中能使用C++字符串就使用,除非萬不得已不選用c_string
  • 還有必要再重復一下C++字符串和C字符串轉換的問題,許多人會遇到這樣的問題,自己做的程序要調用別人的函數、類什么的(比如數據庫連接函數Connect(char*,char*)),但別人的函數參 數用的是char*形式的,而我們知道,c_str()、data()返回的字符數組由該字符串擁有,所以是一種const char*,要想作為上面提及的函數的參數,還必須拷貝到一個char*,而我們的原則是能不使用C字符串就不使用。那么,這時候我們的處理方式是:如果 此函數對參數(也就是char*)的內容不修改的話,我們可以這樣Connect((char*)UserID.c_str(), (char*)PassWD.c_str()),但是這時候是存在危險的,因為這樣轉換后的字符串其實是可以修改的(有興趣地可以自己試一試),所以我強調除非函數調用的時候不對參數進行修改,否則必須拷貝到一個char*上去。當然,更穩妥的辦法是無論什么情況都拷貝到一個char*上去。同時我們也祈 禱現在仍然使用C字符串進行編程的高手們寫的函數都比較規范,那樣 我們就不必進行強制轉換了
  • 我們可以使用下標操作符[]和函數at()對元素包含的字符進行訪問。但是應該注意的是操作符[]并不檢查索引是否有效(有效索引0~str.length()),如果索引失效,會引起未定義的行為。而at()會檢查,如果使用 at()的時候索引無效,會拋出out_of_range異常

<cstdlib>頭文件

字符串轉整形

  • 形式: char *_itoa( int value, char *string, int radix );
  • 參數:
    • value?表示需要被轉換的整形值
    • string?表示轉換后字符串被存放的地址
    • radix?表示被轉換成幾進制

字符串轉成 double 型

  • 形式: double atof( const char *string );
  • 參數:?string?表示需要被轉換的字符串

字符串轉成 int 型

  • 形式: int atoi( const char *string );
  • 參數:?string?表示需要被轉換的字符串

字符串轉成 long 型

  • 形式: long atol( const char *string );
  • 參數:?string?表示需要被轉換的字符串

malloc函數

  • 形式: void *malloc( size_t size );
  • 參數:?size?為新開辟時候需要的內存區大小
  • 注意:
    • malloc 返回值是 void 所以必須有強制轉換類型 (typename*)malloc
    • LEN 為開辟空間的長度,如果為單個變量可用sizeof(typename) 函數返回一個 typename 類型變量內存空間需要的長度.如果是數組的話其中元素個數為 N 其內存空間需要的長度為 N*sizeof(typename) [cpp]?view plaincopy print?
    • int?*p=(int*)malloc(sizeof(int));//p為新開辟的整形變量的指針??
    • 由于 point_name 為地址,malloc 動態生成的結構體無名稱,不能用?*point_name.?成員名?來訪問成員,但由于 () 優先級高,所以可以用?(*point_name).成員名?來訪問
    • malloc 不會初始化開辟空間里面的內容,所以用 malloc 開辟空間的元素在沒有初始化前使用結果是未知的
  • 作用: 為變量開辟存儲空間

free函數

  • 形式: void free( void *memblock );
  • 參數:?memblock?用 malloc 或者 realloc 開辟空間的指針
  • 注意:
    • 用 malloc 生成的變量/結構體/數組用 free 函數來釋放內存
    • free 釋放的都是malloc指針指向的內存,而不會刪掉指針本身
    • 對空指針應用 free 是安全的
    • 不能用 sizeof 操作符來確定動態分配數組包含的字節數
  • 作用: 釋放由 malloc,realloc 或者 calloc 開辟的變量空間

realloc函數

  • 形式:?void *realloc( void *memblock, size_t size );
  • 參數:
    • memblock?為原來有 malloc 開辟空間的指針
    • size?為新開辟時候需要的新的內存區大小,要比 malloc 的大才行
  • 注意:
    • realloc 返回值是 void 所以必須有強制轉換類型 (*typename)realloc
    • LEN 為開辟空間的長度,如果為單個變量可用 sizeof(typename) 函數返回一個 typename 類型變量內存空間需要的長度.如果是數組的話其中元素個數為N其內存空間需要的長度為 N*sizeof(typename)
#include<iostream> #include <cstdlib> using namespace std; void main() { int *p=(int*)malloc(sizeof(int)); *p = 5; cout<<"用 malloc 開辟變量空間 :"<<endl; cout<<"指針 p 指向的地址"<<p<<endl; cout<<"指針 p 指向的地址里面的變量值"<<*p<<endl; p =(int*) realloc((void*)p,2*sizeof(int)); *(p+1) = 6; cout<<"用 realloc 重新開辟變量空間 :"<<endl; cout<<"指針 p 指向的地址"<<p<<endl; cout<<"指針 p 指向的地址里面的變量值"<<*p<<endl; cout<<"指針 p+1 指向的地址"<<(p+1)<<endl; cout<<"指針 p+1 指向的地址里面的變量值"<<*(p+1)<<endl; system("pause"); } 輸出結果:

用 malloc 開辟變量空間 : 指針 p 指向的地址003B5410 指針 p 指向的地址里面的變量值5 用 realloc 重新開辟變量空間 : 指針 p 指向的地址003B5410 指針 p 指向的地址里面的變量值5 指針 p+1 指向的地址003B5414 指針 p+1 指向的地址里面的變量值6 請按任意鍵繼續. . .

    • 由于 point_name 為地址,realloc 動態生成的結構體無名稱,不能用?*point_name.成員名?來訪問成員,但由于 () 優先級高,所以可以用?(*point_name).成員名?來訪問
    • realloc 先按照 size 分配空間在將原有的數據從頭到位拷貝到新分配的區域,然后釋放原來的 memblock 指向的內存區域
  • 作用: 為變量開辟存儲空間

calloc函數

  • 形式: void *calloc( size_t num, size_t size );
  • 參數:
    • num?是要開辟此類變量的個數
    • size?是要開辟此類型變量一個需要的空間
  • 注意: 并返回指向所分配區域的第一個字節的指針若內存不夠則返回 NULL. 該空間的內容全部初始化大小為 0?

隨機生成數函數

  • 形式: int rand( void );
  • 返回值: 返回值為 0 至 RAND_MAX 之間的隨機數值,RAND_MAX 定義在stdlib.h,其值為2147483647。
  • 注意:
    • 在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1
    • 但是這個只是產生偽隨機數,若無明確給出隨機數索引種子,每次得到的隨機數都一樣,可調用srand來初始化rand的隨機數種子來解決這個問題

初始化隨機函數的種子

  • 形式: void srand( unsigned int seed );
  • 參數:?seed?為無符號整形,用來初始化隨機函數的種子
  • 注意: 一般都是通過抓起系統時間來做隨機函數的種子 srand( (unsigned)time( NULL ) );//記得包含<time.h>頭文件

system函數:

  • 形式:int system( const char *command ); [cpp]?view plaincopy print?
  • system("ping?10.10.10.11?-t")??
  • system("cls")??
  • 作用: system()函數用于向操作系統傳遞控制臺命令行
  • 常用DOS命令:
    • ASSOC?顯示或修改文件擴展名關聯
    • AT?計劃在計算機上運行的命令和程序
    • ATTRIB?顯示或更改文件屬性
    • BREAK?設置或清除擴展式 CTRL+C 檢查
    • CACLS?顯示或修改文件的訪問控制列表(ACLs)
    • CALL?從另一個批處理程序調用這一個
    • CD?顯示當前目錄的名稱或將其更改
    • CHCP?顯示或設置活動代碼頁數
    • CHDIR?顯示當前目錄的名稱或將其更改
    • CHKDSK?檢查磁盤并顯示狀態報告
    • CHKNTFS?顯示或修改啟動時間磁盤檢查
    • CLS?清屏幕
    • CMD?打開另一個 Windows 命令解釋程序窗口
    • COLOR?設置默認控制臺前景和背景顏色
    • COMP?比較兩個或兩套文件的內容
    • COMPACT?顯示或更改 NTFS 分區上文件的壓縮
    • CONVERT?將 FAT 卷轉換成 NTFS。您不能轉換當前驅動器
    • COPY?將至少一個文件復制到另一個位置
    • DATE?顯示或設置日期
    • DEL?刪除至少一個文件
    • DIR?顯示一個目錄中的文件和子目錄
    • DISKCOMP?比較兩個軟盤的內容
    • DISKCOPY?將一個軟盤的內容復制到另一個軟盤
    • DOSKEY?編輯命令行、調用 Windows 命令并創建宏
    • ECHO?顯示消息,或將命令回顯打開或關上
    • ENDLOCAL?結束批文件中環境更改的本地化
    • ERASE?刪除至少一個文件
    • EXIT?退出 CMD.EXE 程序(命令解釋程序)
    • FC?比較兩個或兩套文件,并顯示不同處
    • FIND?在文件中搜索文字字符串
    • FINDSTR?在文件中搜索字符串
    • FOR?為一套文件中的每個文件運行一個指定的命令
    • FORMAT?格式化磁盤,以便跟 Windows 使用
    • FTYPE?顯示或修改用于文件擴展名關聯的文件類型
    • GOTO?將Windows命令解釋程序指向批處理程序中某標明行
    • GRAFTABL?啟用 Windows 來以圖像模式顯示擴展字符集
    • HELP?提供 Windows 命令的幫助信息
    • IF?執行批處理程序中的條件性處理
    • LABEL?創建、更改或刪除磁盤的卷標
    • MD?創建目錄
    • MKDIR?創建目錄
    • MODE?配置系統設備
    • MORE?一次顯示一個結果屏幕
    • MOVE?將文件從一個目錄移到另一個目錄
    • PATH?顯示或設置可執行文件的搜索路徑
    • PAUSE?暫停批文件的處理并顯示消息
    • POPD?還原 PUSHD 保存的當前目錄的上一個值
    • PRINT?打印文本文件
    • PROMPT?更改 Windows 命令提示符
    • PUSHD?保存當前目錄,然后對其進行更改
    • RD?刪除目錄
    • RECOVER?從有問題的磁盤恢復可讀信息
    • REM?記錄批文件或 CONFIG.SYS 中的注釋
    • REN?重命名文件
    • RENAME?重命名文件
    • REPLACE?替換文件
    • RMDIR?刪除目錄
    • SET?顯示、設置或刪除 Windows 環境變量
    • SETLOCAL?開始批文件中環境更改的本地化
    • SHIFT?更換批文件中可替換參數的位置
    • SORT?對輸入進行分類
    • START?啟動另一個窗口來運行指定的程序或命令
    • SUBST?將路徑跟一個驅動器號關聯
    • TIME?顯示或設置系統時間
    • TITLE?設置 CMD.EXE 會話的窗口標題
    • TREE?以圖形模式顯示驅動器或路徑的目錄結構
    • TYPE?顯示文本文件的內容
    • VER?顯示 Windows 版本
    • VERIFY?告訴 Windows 是否驗證文件是否已正確寫入磁盤
    • VOL?顯示磁盤卷標和序列號
    • XCOPY?復制文件和目錄樹
    • SHUTDOWNWindows 系統關機命令
      • 格式: shutdown [-s | -a | -l | -r ] [-t seconds]
        • 參數說明:
          • -s:就表示關閉本地計算機
          • -a:表示取消關機操作
          • -f:強行關閉應用程序
          • -l:注銷當前用戶
          • -r:關機并重啟
          • -t: 時間:設置關機倒計時
          • -c: “消息內容”:輸入關機對話框中的消息內容(不能超127個字符)
      • 例子: Shutdown -s -t 1320 (注意:引號不輸入,參數之間有空格,1320的單位是秒)
<cstdarg>頭文件

宏與類型定義

_INTSIZEOF宏

宏定義:

[cpp]?view plaincopy print?
  • //?vadefs.h??
  • #define?_INTSIZEOF(n)???(?(sizeof(n)?+?sizeof(int)?-?1)?&?~(sizeof(int)?-?1)?)??
  • _ADDRESSOF

    宏定義:

    [cpp]?view plaincopy print?
  • //?vadefs.h??
  • #define?_ADDRESSOF(v)???(?&reinterpret_cast<const?char?&>(v)?)??
  • va_start宏

    宏定義:

    [cpp]?view plaincopy print?
  • //?stdarg.h???
  • #define?va_start?_crt_va_start??
  • //?vadefs.h??
  • #define?_crt_va_start(ap,v)??(?ap?=?(va_list)_ADDRESSOF(v)?+?_INTSIZEOF(v)?)??
  • 作用:?使 va_list 指向起始的參數
    參數:

    • ap?為 va_list 類型的變量
    • v?函數的第一個固定參數

    va_arg宏

    宏定義:?

    [cpp]?view plaincopy print?
  • //?stdarg.h??
  • #define?va_arg?_crt_va_arg??
  • //?vadefs.h??
  • #define?_crt_va_arg(ap,t)????(?*(t?*)((ap?+=?_INTSIZEOF(t))?-?_INTSIZEOF(t))?)??
  • 作用:?檢索參數,每次提取一次可變參數,arg 就向上移動一次.無論它現在指向的是不是參數它都會讀取arg參數里存放地址里的內容
    參數:

    • ap?為 va_list 類型的變量
    • t?為回傳的型態

    va_end宏

    宏定義:

    [cpp]?view plaincopy print?
  • //?stdarg.h??
  • #define?va_end?_crt_va_end??
  • //?vadefs.h??
  • #define?_crt_va_end(ap)??????(?ap?=?(va_list)0?)??
  • 作用:?釋放 va_list
    參數:?ap?為 va_list 類型的變量

    va_list類型

    定義:

    [cpp]?view plaincopy print?
  • //?stdarg.h??
  • typedef?char?*??va_list;??

  • ?

    對于函數

    形式:

    • type va_arg( va_list arg_ptr, type );
    • void va_end( va_list arg_ptr );
    • void va_start( va_list arg_ptr ); (UNIX version)
    • void va_start( va_list arg_ptr, prev_param ); (ANSI version)

    參數解釋:

    • type: Type of argument to be retrieved
    • arg_ptr: Pointer to list of arguments
    • prev_param: Parameter

    ?

    使用可變參數

    使用可變參數的下步驟

    • 首先在函數里定義一個 va_list 型的變量,這里是 arg_ptr,這個變量是指向參數的指針.
    • 然后用 va_start 宏初始化變量 arg_ptr,這個宏的第二個參數是第一個可變參數的前一個參數,是一個固定的參數.
    • 然后用 va_arg 返回可變的參數,并賦值給整數 j. va_arg的第二個 參數是你要返回的參數 的類型,這里是 int 型.
    • 最后用 va_end 宏結束可變參數的獲取.然后你就可以在函數里使用第二個參數了.如果函數有多個可變參數的,依次調用 va_arg 獲取各個參數

    C 語言的函數是從右向左壓入堆棧的,下圖是函數的參數在堆棧中的分布位置:


    例子

    輸出所有int型態的參數,直到-1結束:

    [cpp]?view plaincopy print?
  • #include<iostream>??
  • #include?<cstdarg>??
  • using?namespace?std;??
  • ??
  • void?printargs(int?arg1,...)??
  • {??
  • ????va_list?ap;??
  • ????//聲明變量?ap,用于指向參數??
  • ????int?i;??
  • ????va_start(ap,arg1);??
  • ????//獲得第一個參數的地址??
  • ????//va_start(ap,arg1);?把宏展開來看等價于??
  • ????//(ap?=(char*)(&reinterpret_cast<const?char&>(arg1))+((sizeof(arg1)+sizeof(int)-1)&~(sizeof(int)-?1)));??
  • ????for(i=arg1;i!=-1;i=va_arg(ap,int))??
  • ????//va_arg(ap,int)?把宏展開來看等價于??
  • ????//(*(int*)((ap?+=((sizeof(int)+sizeof(int)-?1)&~(sizeof(int)-?1)))-((sizeof(int)+sizeof(int)-?1)?&~(sizeof(int)-?1))))??
  • ????//輸出所有int型態的參數,直到-1結束??
  • ????????cout<<i<<'?';??
  • ????va_end(ap);??
  • ????//va_end(ap);?把宏展開來看等價于??
  • ????//(ap?=(char*)0)??
  • ????cout<<endl;??
  • }??
  • int?main(void)??
  • {??
  • ????printargs(5,2,14,84,97,15,24,48,-1);??
  • ????printargs(84,51,-1);??
  • ????printargs(-1);??
  • ????printargs(1,-1);??
  • ????system("pause");??
  • ????return?0;??
  • }??
  • 輸出結果:

    5 2 14 84 97 15 24 48
    84 51
    ?
    1
    請按任意鍵繼續. . .

    用可變參數第一參數為參數的長度說明:

    [cpp]?view plaincopy print?
  • #include<iostream>??
  • #include?<cstdarg>??
  • using?namespace?std;??
  • ??
  • void?output(int?n,?...);??
  • void?main()??
  • {??
  • ????output(3,"王一",12,"李二",5,"趙三",58);??
  • ????system("pause");??
  • }??
  • void?output(int?n,?...)??
  • {??
  • ????va_list?ap;??
  • ????va_start(ap,n);?//起到初始化,使用得?ap?指向可變參數的第一個參數,即?n?處??
  • ????while(n--)??
  • ????{??
  • ????????char*?name=va_arg(ap,char*);????
  • ????????//獲得當前?ap?所指向的參數,并使?ap?指向可變參數的下一個參數,并且要指明獲得的參數類型char*?為需要獲得的參數的類型.??
  • ????????int?age=va_arg(ap,int);????//同上,int為參數類型??
  • ????????cout<<"name?:"<<name<<",age="<<age<<endl;??
  • ????}??
  • ????va_end(ap);??//結束可變參數獲取??
  • }??
  • ?輸出結果:

    name :王一,age=12
    name :李二,age=5
    name :趙三,age=58
    請按任意鍵繼續. . .

    若把上例子中的函數調用由?output(3,"王一",12,"李二",5,"趙三",58); 改為output(3,"王一",12,"李二",5); 時候輸出結果變成了這樣(在參數后面還有跟著一些函數的相關信息):

    name :王一,age=12
    name :李二,age=5
    name :兡 ?0@,age=1
    請按任意鍵繼續. . .

    若把上例子中的函數調用由?output(3,"王一",12,"李二",5,"趙三",58); 改為output(3,"王一",12,"李二"); 時候輸出結果變成了這樣(錯誤說明:讀取的地址無效,.va_arg 提取地址發生錯誤):

    <ctime>頭文件

    “時間”和“日期”的概念?

    Coordinated Universal Time(UTC):

    協調世界時,又稱為世界標準時間,也就是大家所熟知的格林威治標準時間(Greenwich Mean Time,GMT).比如,中國內地的時間與UTC的時差為+8,也就是UTC+8.美國是UTC-5

    Calendar Time:

    日歷時間:是用“從一個標準時間點到此時的時間經過的秒數”來表示的時間.這個標準時間點對不同的編譯器來說會有所不同,但對一個編譯系統來說,這個標準時間點是不變的,該編譯系統中的時間對應的日歷時間都通過該標準時間點來衡量,所以可以說日歷時間是“相對時間”,但是無論你在哪一個
    時區,在同一時刻對同一個標準時間點來說,日歷時間都是一樣的.epoch:時間點時間點在標準C/C++中是一個整數,它用此時的時間和標準時間點相差的秒
    數(即日歷時間)來表示

    clock tick:

    時鐘計時單元(而不把它叫做時鐘滴答次數),一個時鐘計時單元的時間長短是由 CPU 控制的.一個 clock tick 不是C PU 的一個時鐘周期,而是C/C++的一個基本計時單位.

    ?


    ?

    重要的宏

    CLOCKS_PER_SEC

    說明:每秒鐘的滴答數
    定義:

    #define CLOCKS_PER_SEC ((clock_t) 000)?

    用途:它用來表示一秒鐘會有多少個時鐘計時單元

    clock_t

    說明:滴答計數類型
    定義:

    [cpp]?view plaincopy print?
  • #ifndef?_CLOCK_T_DEFINED??
  • ????typedef?long?clock_t;??
  • #define?_CLOCK_T_DEFINED??
  • #endif??
  • 注意:其中clock_t是用來保存時間的數據類型

    time_t

    說明:日歷時間的秒計數

    定義:

    [cpp]?view plaincopy print?
  • #ifndef?__TIME_T??
  • #define?__TIME_T?/*?避免重復定義?time_t?*/??
  • typedef?long?time_t;?/*?時間值time_t?為長整型的別名*/??
  • #endif??
  • 注意:對time_t數據類型的值來說,它所表示的時間不能晚于2038年 月 8日 9時 4分07秒.?

    ?


    ?

    重要數據類型

    struct tm

    說明:年月日等得細分時間數據結構

    ?

    [cpp]?view plaincopy print?
  • struct?tm{??
  • ????int?tm_sec;??????/*?Seconds.?????[0-60]?(??leap?second)?*/??
  • ????int?tm_min;??????/*?Minutes.?????[0-59]?*/??
  • ????int?tm_hour;?????/*?Hours.???????[0-23]?*/??
  • ????int?tm_mday;????/*?Day.?????????[?-3?]?*/??
  • ????int?tm_mon;??????/*?Month.???????[0-??]?*/??
  • ????int?tm_year;?????/*?Year?-??900.?*/??
  • ????int?tm_wday;?????/*?Day?of?week.?[0-6]?*/??
  • ????int?tm_yday;?????/*?Days?in?year.[0-365]?*/??
  • ????int?tm_isdst;????/*?DST.?????????[-?/0/?]*/??
  • #ifdef?__USE_BSDlong?int?tm_gmtoff;???/*?Seconds?east?of?UTC.?*/??
  • ????__const?char?*tm_zone;????????/*?Timezone?abbreviation.?*/??
  • #elselong?int?__tm_gmtoff;?????????/*?Seconds?east?of?UTC.?*/??
  • ????__const?char?*__tm_zone;??????/*?Timezone?abbreviation.?*/??
  • #endif??
  • };??

  • ?

    函數

    clock 函數

    • 原型:clock_t clock( void );
    • 作用:返回本程序自啟動來,流逝的時鐘計時單元.

    difftime 函數

    • 原型:double difftime( time_t timer ,time_t timer0 );
    • 作用:返回兩個日歷時間之差timer -timer0;

    time 函數

    • 原型:time_t time( time_t *timer );
    • 作用:獲取機子的時間
    • 注意:如果,timer不為空,則同時將返回值賦給timer指向的變量.

    mktime 函數

    • 原型:time_t mktime(struct tm *timeptr );
    • 作用:將由年月日時分秒等構成的細分時間轉換為流逝秒數構成的日歷時間.

    localtime 函數

    • 原型:struct tm *localtime(const time_t *timer);
    • 作用:將日歷時間轉換為本地細分時間

    gmtime函數

    • 原型:struct tm *gmtime( const time_t *timer);
    • 作用:將日歷時間轉換為UTC(世界協調時間)的細分時間
    • 注意:localtime與gmtime,前者比后者多8個小時

    asctime函數

    • 原型:char *asctime( const struct tm *timeptr );
    • 作用:將細分時間轉換為簡寫字符串

    ctime函數

    • 原型:char *ctime( const time_t *timer );
    • 作用:將日歷時間轉換為簡寫字符串

    strftime函數

    • 原型:size_t strftime(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr );
    • 作用:將細分時間按format的格式要求格式化到strDest指向的緩沖區

    函數strftime()的操作有些類似于sprintf():識別以百分號(%)開始的格式命令集合,格式化輸出結果放在一個字符串中.格式化命令說明串strDest中各種日期和時間信息的確切表示方法.格式串中的其他字符原樣放進串中.格式命令列在下面,它們是區分大小寫的.

    • %a 星期幾的簡寫
    • %A 星期幾的全稱
    • %b 月分的簡寫
    • %B 月份的全稱
    • %c 標準的日期的時間串
    • %C 年份的后兩位數字
    • %d 十進制表示的每月的第幾天
    • %D 月/天/年
    • %e 在兩字符域中,十進制表示的每月的第幾天
    • %F 年-月-日
    • %g 年份的后兩位數字,使用基于周的年
    • %G 年分,使用基于周的年
    • %h 簡寫的月份名
    • %H 24小時制的小時
    • %I 2小時制的小時
    • %j 十進制表示的每年的第幾天
    • %m 十進制表示的月份
    • %M 十時制表示的分鐘數
    • %n 新行符
    • %p 本地的AM或PM的等價顯示
    • %r 2小時的時間
    • %R 顯示小時和分鐘:hh:mm %S 十進制的秒數
    • %t 水平制表符 %T 顯示時分秒:hh:mm:ss
    • %u 每周的第幾天,星期一為第一天 (值從0到6,星期一為0)
    • %U 第年的第幾周,把星期日做為第一天(值從0到53)
    • %V 每年的第幾周,使用基于周的年
    • %w 十進制表示的星期幾(值從0到6,星期天為0)
    • %W 每年的第幾周,把星期一做為第一天(值從0到53)
    • %x 標準的日期串
    • %X 標準的時間串
    • %y 不帶世紀的十進制年份(值從0到99)
    • %Y 帶世紀部分的十制年份
    • %z,%Z 時區名稱,如果不能得到時區名稱則返回空字符.%% 百分號

    <ctype>頭文件

    函數 isalpha

    • 原型: int isalpha(int ch);
    • 返回值: 檢查 ch 是否是字母.
    • 返回值: 是字母返回非 0 ,否則返回 0 

    函數 iscntrl

    • 原型: int iscntrl(int ch);
    • 返回值: 檢查 ch 是否控制字符(其 ASCII 碼在 0x00 到 0x1F 之間).
    • 返回值: 是返回非 0,否則返回 0.

    函數 isdigit

    • 原型: int isdigit(int ch);
    • 返回值: 檢查 ch 是否是數字( 0-9 )
    • 返回值: 是返回非 0,否則返回 0

    函數 isgraph

    • 原型: int isgraph(int ch);
    • 返回值: 檢查 ch 是否可顯示字符(其 ASCII 碼在 0x21 到 0x7E 之間),不包括空格
    • 返回值: 是返回非 0,否則返回 0

    函數 islower

    • 原型: int islower(int ch);
    • 返回值: 檢查 ch 是否小寫字母(a-z)
    • 返回值: 是返回非 0,否則返回 0  

    函數 tolower

    • 原型: int tolower(int ch);
    • 返回值: 將 ch 字符轉換為小寫字母
    • 返回值: 返回 ch 所代表的字符的小寫字母  

    函數 toupper

    • 原型: int toupper(int ch);
    • 返回值: 將 ch 字符轉換成大寫字母
    • 返回值: 與 ch 相應的大寫字母   

    函數 isalnum

    • 原型: int isalnum(int ch);
    • 返回值: 檢查 ch 是否是字母或數字
    • 返回值: 是字母或數字返回 1,否則返回 0 

    函數 isprint

    • 原型: int isprint(int ch);
    • 返回值: 檢查 ch 是否可打印字符(包括空格),其 ASCII 碼在?0x20 到 0x7E 之間
    • 返回值: 是返回非 0,否則返回 0  

    函數 ispunct

    • 原型: int ispunct(int ch);
    • 返回值: 檢查 ch 是否是標點字符(不包括空格),即除字母,數字和空格以外的所有可打印字符
    • 返回值: 是返回非 0,否則返回 0  

    函數 isspace

    • 原型: int isspace(int ch);
    • 返回值: 檢查ch是否是空格符和跳格符(控制字符)或換行符
    • 返回值: 是返回非 0,否則返回 0 

    函數 isupper

    • 原型: int isupper(int ch);
    • 返回值: 檢查ch是否是大寫字母(A-Z)
    • 返回值: 是返回非 0,否則返回 0

    函數 isxdigit

    • 原型: int isxdigit(int ch);
    • 返回值: 檢查 ch 是否是一個 16 進制數學字符(即 0-9,或 A-F,或 a-f)
    • 返回值: 是返回非 0,否則返回 0

    函數 isascii

    • 原型: int isascii(int ch);
    • 返回值: 測試參數是否是 ASCII 碼 0-127
    • 返回值:?是返回非 0,否則返回 0
    <cstring>頭文件

    函數 strcpy

    • 原型:?char* strcpy (char *s1, const char *s2);
    • 作用:?將字符串 2 復制到字符數組 1 當中去
    • 說明:
      • 字符數組 1 的長度應不小于字符串2的長度
      • "字符數組 1" 必須寫成數組名形式,"字符串 2" 可以為字符數組名,也可以是一個字符串常量
      • 在未對字符數組 1 賦初值時,復制時將 "字符串 2" 中的字符串和其后的 "/0" 一起復制到字符數組 1 中,取代其前 n+1 個字符,而后面的字符是 "字符數組 1" 原字符

    函數 strncpy

    • 原型:?char* strncpy (char *s1, const char *s2, size_t len);
    • 作用:?將 s2 的前 len 個字符復制到 s1 中指定的地址, 不加 '\0'

    函數 memcpy?

    • 原型:?void* memcpy (void *s1, const void *s2, size_t len);
    • 作用:?將 s2 的前 len 個字節復制到 s1 中指定的地址, 不加 '\0'
    • 說明:?源和目的不能是同一塊內存區域

    函數 memmove?

    • 原型:?void* memmove (void *s1, const void *s2, size_t len);
    • 作用:?當源單元和目的單元緩沖區交迭時使用
    • 說明:?源和目的可以是同一塊內存區域(例如數組某個元素在數組存儲器內部移動數據)

    函數 strxfrm

    • 原型:?size_t strxfrm (char *s1, const char *s1, size_t len);
    • 作用:?根據程序當前的區域選項,將 s2 的前 len 個字符(字節)復制到 s1 中指定的地址, 不加 '\0'

    函數 strcat?

    • 原型:?char* strcat (char *s1, const char *s2);
    • 作用:?把字符串 2 接到字符串 1 后面(字符串 1 要足夠大)
    • 說明:?連接前兩個字符串都有 "/0" ,連接時將字符串1后 "/0" 丟棄,只在新字符串后保留 '/0'

    函數 strncat?

    • 原型:char* strncat (char *s1, const char *s2, size_t len);
    • 作用:?將字符串 s2 的前 len 個字符連接到 s1 尾部, 不加 '\0'

    函數 strcmp?

    • 原型:?int strcmp (const char *s1, const char *s2); ①作用:比較字符串1與字符串2
    • 規律:?兩個字符串自左至右逐個字符相比(按 ASCII 碼值大小比較)直到出現不同的字符或者遇到 "/0" 為止,如果全部字符相同,則認為相等,若出現不同字符,則以第一個不相同的字符為準
    • 準則:
      • 如果字符串 1=字符串 2,函數返回值為 0
      • 如果字符串 1>字符串 2,函數返回值為正數
      • 如果字符串1<字符串 2,函數返回值為負數

    函數 strncmp

    • 原型:?int strncmp (const char *s1, const char *s2, size_t len);
    • 作用:?對 s1 和 s2 的前len個字符作比較

    函數 memcmp

    • 原型:?int memcmp (const void *s1, const void *s2, size_t len);
    • 作用:?對 s1 和 s2 的前 len 個字節作比較

    函數 strcoll

    • 原型:?int strcoll (const char *s1, const char *s2);
    • 作用:?根據程序當前的區域選項中的 LC_COLLATE, 比較字符串 s1 和 s2

    函數 strchr

    • 原型:?char* strchr (const char *s, int ch);
    • 作用:?在 s 中查找給定字符 ch 第一次出現的位置

    函數 memchr

    • 原型:?void* memchr (const void *s, int ch, size_t len);
    • 作用:?查找在字符串中最后一次出現字符 ’ch’ 的位置。如果 s 中存在字符 ch,返回出現 ch 的位置的指針;否則返回NULL。

    函數 strrchr

    • 原型:?char* strrchr (const char *s, int ch);
    • 作用:?在串 s 中查找給定字符 ch 最后一次出現的位置, r表示從串尾開始

    函數 strstr

    • 原型:?char* strstr (const char *s1, const char *s2);
    • 作用:?在串 s1 中查找指定字符串 s2 第一次出現的位置

    函數?strspn

    • 原型:?size_t strspn (const char *s1, const char *s2);
    • 作用:?返回一個長度,這個長度是在 s1 中沒有出現 s2 任意字符的從 s1 頭計算的字符串的長度。

    函數 strcspn

    • 原型:?size_t strcspn (const char *s1, const char *s2);
    • 作用:?返回一個長度,這個長度是在 s1 中沒有出現 s2 任意字符的從 s1 頭計算的字符串的長度。

    函數 strpbrk

    • 原型:?char* strpbrk (const char *s1, const char *s2);
    • 作用:?與 strcspn 類似, 區別是返回指針而不是索引

    函數 strtok

    • 原型:?char* strtok (char *s1, const char *s2);
    • 函數執行步驟:
      • 從串s1中分離出由串 s2 中指定的分界符分隔開的記號(token)
      • 第一次調用時 s1 為需分割的字串, 此后每次調用都將 s1 置為 NULL,
      • 每次調用 strtok 返回一個記號, 直到返回 NULL 為止
    • 作用:?分解字符串為一組字符串。s 為要分解的字符串,delim 為分隔符字符串。實質上的處理是,strtok 在 s 中查找包含在 delim 中的字符并用 NULL(’\0′) 來替換,直到找遍整個字符串。
    • 返回值:?從 s 開頭開始的一個個被分割的串。當沒有被分割的串時則返回 NULL。所有?delim 中包含的字符都會被濾掉,并將被濾掉的地方設為一處分割的節點。

    函數 strlen

    • 原型:?size_t strlen (const char *s);
    • 作用:?它是測試字符串長度的函數,函數的值為字符串中的實際長度(不包括 "/0")

    函數 memset

    • 原型:?void* memset (void *s, int val, size_t len);
    • 作用:?將從 s 開始的 len 個字節置為 val

    函數 strerror

    • 原型:?char* strerror (int errno);
    • 作用:?返回指向錯誤信息字符串的指針

    函數 _strlwr

    • 原型:?char *_strlwr( char *string );
    • 作用:?把字符串中的大寫字母換成小寫字母

    函數 _strupr

    • 原型:?char *_strupr( char *string );
    • 作用:?把字符串中的小寫字母換成大寫字母
    <cmath>頭文件

    ceil (x)       x取整為不小于x的最小整數值
    cos(x)?      ?x(x弧度)的余弦值
    fabs(x)?      x的絕對值
    floor(x)?      x取整為不大于x的最大整數值
    fmod(x,y)?     x/y的浮點余數值
    log(x)        x(底數為e)的自然對數值
    log10(x)?     ? x(底數為10)的自然對數值
    pow(x,y)?     ?x的y次冪(x^y)的值
    sin(x)?       ?x(弧度)的正弦值
    sqrt(x)?      x的平方根的值
    tan(x)       ? x(弧度)的正切值
    exp(x)       ? 指數函數e^x的值
    acos(x)?      x(弧度)的反余弦值
    asin(x)?      ?x(弧度)的反正弦值
    atan(x)?      ?x(弧度)的反正切值
    tanh(x)?      ?x(弧度)的雙曲正切值
    cosh(x)?       x(弧度)的雙曲余弦值
    sinh(x)?       ?x(弧度)的雙曲正弦值
    ldexp(y,x)?     返回y*2^x的值
    atan2(y,x)?    ??返回反正切的表達式y / x?
    frexp(y,&x)?     把一個浮點數分解為尾數和指數, y要分解的浮點數據,x存放指數 返回值為尾數,公式:其中 y(浮點數) = 返回值(尾數) * 2^x(指數)
    modf(y,&x)?    分解y,以得到y的整數(返回值)和小數部分(放在x參數中)

    <climits>頭文件

    <climits>頭文件定義的符號常量

    CHAR_MIN?      char的最小值
    SCHAR_MAX?     signed char 最大值
    SCHAR_MIN?     ?signed char 最小值
    UCHAR_MAX?     unsigned char 最大值
    SHRT_MAX?      short 最大值
    SHRT_MIN       short 最小值
    USHRT_MAX      unsigned short 最大值
    INT_MAX       int 最大值
    INT_MIN?       int 最小值
    UINT_MAX?      unsigned int 最大值
    UINT_MIN??      unsigned int 最小值
    LONG_MAX      long最大值
    LONG_MIN?      long最小值
    ULONG_MAX?     unsigned long 最大值
    FLT_MANT_DIG    float 類型的尾數
    FLT_DIG        ?float 類型的最少有效數字位數
    FLT_MIN_10_EXP   帶有全部有效數的float類型的負指數的最小值(以10為底)
    FLT_MAX_10_EXP?  ?float類型的正指數的最大值(以10為底)
    FLT_MIN?       保留全部精度的float類型正數最小值
    FLT_MAX       ?float類型正數最大值



    總結

    以上是生活随笔為你收集整理的stringcstdlibctimecstdargctimectypecmathclimits的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    91精品在线免费视频 | 超碰在线最新网址 | 久久精品123 | 中国美女一级看片 | 99久免费精品视频在线观看 | 91桃色视频 | 狠狠操狠狠插 | 在线色吧 | 国产精品麻豆果冻传媒在线播放 | 在线国产能看的 | 99久久久国产精品免费观看 | 久久伊人免费视频 | 五月综合激情 | 香蕉色综合 | www.黄色小说.com | 黄色aaaaa| 成人av免费在线播放 | 99精品国产一区二区三区麻豆 | 久久黄色免费视频 | 精品久久久久久一区二区里番 | 久久久久99999 | 热99在线视频| 久久视频| 国产精品毛片一区二区在线看 | 精品视频中文字幕 | 中文字幕av在线不卡 | 婷婷在线色 | 久久久久久久久久久久亚洲 | 欧美日韩国产一区二区三区在线观看 | sesese图片| mm1313亚洲精品国产 | 91影视成人 | www.伊人网.com| 亚洲精品字幕在线观看 | 综合色亚洲 | 在线观看久久久久久 | 久久中文网| 四虎影视精品永久在线观看 | 久久久免费 | 特级黄色一级 | 久久噜噜少妇网站 | 天天干夜夜爽 | 手机看片99 | 97在线超碰 | 天天摸天天操天天舔 | 日韩最新理论电影 | 欧美日本啪啪无遮挡网站 | 福利二区视频 | 91麻豆精品国产91久久久久久 | 成人在线观看资源 | 在线免费观看视频一区 | 色综合人人| 99re久久资源最新地址 | 欧美精品免费一区二区 | 久久久久久亚洲精品 | 天天操网站 | 日本中文字幕免费观看 | 亚洲热视频| 久久99国产精品久久99 | 日本三级大片 | 天天干夜夜夜 | 国产一区免费在线观看 | 国产一级视频在线观看 | 久久久精品 一区二区三区 国产99视频在线观看 | 欧美日韩一区二区三区视频 | 97爱爱爱| 九九热精品视频在线播放 | 婷婷色网 | 免费国产在线精品 | 99精品视频一区二区 | 精品一区二区三区在线播放 | 免费一级片在线观看 | 亚洲欧美久久 | 欧美一级久久久久 | 亚洲日本在线视频观看 | 不卡电影一区二区三区 | 久久激情视频 久久 | 免费日韩在线 | 国产精品综合久久久久久 | 亚洲激情一区二区三区 | 激情大尺度视频 | 成年人免费看的视频 | 五月婷婷久草 | 伊人官网 | 91视频3p| 成人在线视频一区 | 天天干天天操天天爱 | 一二三区在线 | 成年人视频在线 | www亚洲精品 | 精品91久久久久 | 欧美激情va永久在线播放 | 999久久久久久 | 97在线影院 | 久久久久久久久久网 | 久久国产网 | 激情文学综合丁香 | 日韩综合第一页 | 国产午夜激情视频 | 精品国产乱码久久久久久天美 | 成人免费在线网 | 欧美aⅴ在线观看 | 国产精品久久久久久久久大全 | 国产在线观| 久久尤物电影视频在线观看 | 五月婷在线播放 | 在线免费观看视频a | 91av视频播放 | 日本黄色免费大片 | 在线免费高清一区二区三区 | 日本黄色免费看 | 黄色精品一区二区 | 麻豆免费精品视频 | 国内久久视频 | 国产看片免费 | 一区视频在线 | 国产一区二区在线免费视频 | 91精品国产自产在线观看永久 | 免费看av片网站 | 99久久99视频只有精品 | 99精品欧美一区二区蜜桃免费 | 国产专区一 | 午夜av色 | 国产精品免费在线播放 | 超碰最新网址 | 激情欧美一区二区三区免费看 | av电影不卡在线 | 日韩精品视频免费专区在线播放 | 成人三级网站在线观看 | 人人狠狠综合久久亚洲婷 | 国产又粗又硬又爽视频 | av成人在线电影 | 九九九热视频 | 色吊丝在线永久观看最新版本 | 99国产精品免费网站 | 午夜视频在线观看一区二区三区 | 东方av在线免费观看 | 91免费高清在线观看 | 免费高清无人区完整版 | 精品一区二区日韩 | 日韩在线观看影院 | 日韩精品久久久久久久电影竹菊 | 伊人六月 | 激情av一区二区 | 日韩大片在线播放 | 伊人狠狠操 | 久久91久久久久麻豆精品 | 色综合久久久久网 | 欧美久久久久久久久中文字幕 | 国产98色在线 | 日韩 | 五月婷婷视频在线 | 免费a v网站 | 精品国产片| 中文字幕在线网 | 日韩免费电影一区二区三区 | 免费看一级特黄a大片 | 国产一级久久 | 黄色大片视频网站 | 久久久久久国产一区二区三区 | 又爽又黄又无遮挡网站动态图 | 99久久久久久国产精品 | 国产无吗一区二区三区在线欢 | 久久久久国产一区二区三区 | 亚洲一区二区视频 | 免费网站看av片 | 手机版av在线 | 久久免费影院 | avove黑丝| 亚洲精品色视频 | 美国av大片 | 91精品办公室少妇高潮对白 | 99精品在线免费 | 亚洲狠狠| 正在播放 国产精品 | 色婷婷久久一区二区 | 国产淫a| 免费国产亚洲视频 | 狠狠操天天射 | 三上悠亚一区二区在线观看 | 久久久一本精品99久久精品 | 久久久久网站 | 亚洲一区二区麻豆 | 伊人久久在线观看 | 国产69精品久久久久久 | 久久精品国产一区二区电影 | 天天爽综合网 | 成人h视频在线播放 | 亚洲精品国产精品国自产在线 | 成人在线黄色电影 | 国产视频精品网 | 国产1级视频 | 中文字幕视频一区二区 | 欧美一区二区三区在线观看 | 久久只精品99品免费久23小说 | 久久av免费 | 亚洲精品动漫在线 | 涩五月婷婷 | 日韩精品亚洲专区在线观看 | 色99网| av资源在线看 | 正在播放国产91 | 久草综合视频 | 国产精品1区2区在线观看 | 日韩精品中文字幕在线 | 成人午夜毛片 | 婷婷精品国产一区二区三区日韩 | 美国三级黄色大片 | 日韩在线观看一区二区三区 | 免费av网站观看 | 中文字幕中文字幕在线中文字幕三区 | 亚洲激情小视频 | 在线观看国产成人av片 | 精品国产一区二区三区在线 | 免费电影一区二区三区 | 国产97色在线 | 久久国产精品网站 | 国产美女视频网站 | 国产美女主播精品一区二区三区 | 一本一本久久a久久精品综合妖精 | 成人动漫视频在线 | 亚洲视频免费在线看 | 亚洲精品自在在线观看 | 欧美色图亚洲图片 | 色午夜影院 | 激情大尺度视频 | 国产成人精品一区二区三区福利 | 少妇视频在线播放 | 在线观看91久久久久久 | 91九色蝌蚪视频 | 亚洲日本成人网 | 亚洲精品一区二区三区在线观看 | 黄色在线观看www | 丁香在线视频 | 成人在线视频免费看 | 天天做日日做天天爽视频免费 | 亚洲精品成人av在线 | 欧亚久久 | 精品一区二区影视 | 99精品国产视频 | 精品福利在线视频 | 欧美成人免费在线 | 亚洲精品网页 | 国产99久久久欧美黑人 | 国产在线不卡精品 | av福利电影 | 91热视频| 成人永久免费 | 免费看国产精品 | 日韩乱理| 国产精品入口麻豆 | 国产人成在线视频 | 欧美人牲| 亚洲国产网站 | 久久好看免费视频 | 久久久久久久久久久免费视频 | 久久狠狠亚洲综合 | 91免费看黄色| 国产精品情侣视频 | 日韩在线无 | 麻豆视频免费版 | 亚洲经典视频 | 在线高清| 欧亚久久 | 手机av网站 | 99re国产| 91视频麻豆视频 | 天天操天天是 | 欧美日韩不卡一区二区三区 | 久久精品www人人爽人人 | 精品亚洲视频在线 | 中文字幕乱码在线播放 | 久久视频在线视频 | 欧美片网站yy | 九色琪琪久久综合网天天 | www.久久色 | 99爱精品视频 | 婷婷成人在线 | www黄色| 日韩中字在线观看 | 在线高清| 国产精品高清免费在线观看 | www.狠狠操.com| 欧美日韩一区二区在线观看 | 在线看日韩av | 国产男女免费完整视频 | 国际精品久久 | 国产成人av电影 | 亚洲国产三级 | 国产高清av在线播放 | 午夜精品久久久久久久99水蜜桃 | 色资源在线| 97国产一区二区 | 成人动漫视频在线 | av九九九| 手机在线视频福利 | 日本中文字幕影院 | 日韩欧美精品在线 | 99视频久 | 精品一区在线 | 99免费视频 | 免费观看www7722午夜电影 | 狠狠色狠狠色综合日日小说 | 公与妇乱理三级xxx 在线观看视频在线观看 | 久久不射电影院 | 夜夜爱av | 久久精品麻豆 | 国产美女被啪进深处喷白浆视频 | 日本中文不卡 | 国产亚洲精品久久久久久无几年桃 | 亚洲国产中文在线 | 天无日天天操天天干 | 最近中文字幕mv免费高清在线 | 美女网站一区 | 99精品欧美一区二区三区黑人哦 | 黄色小网站在线 | 一级淫片在线观看 | 亚洲精品成人av在线 | 一区二区三区不卡在线 | 91视频成人免费 | 国产一二三区在线观看 | 中文字幕第一页在线播放 | 日韩精品一区二区三区电影 | 国产亚洲视频在线 | 色播五月激情五月 | 91色一区二区三区 | 国产一区二区在线观看免费 | 中文字幕一区二区三区四区在线视频 | 美女网站在线 | 色吊丝在线永久观看最新版本 | 麻豆一二三精选视频 | 三级黄色免费 | 国产系列 在线观看 | 成人黄色在线观看视频 | 在线观看免费黄视频 | 国产精品久久久777 成人手机在线视频 | 激情图片久久 | 三级av免费看 | 欧美一级大片在线观看 | 日本中文字幕视频 | 超碰国产在线观看 | 国产美腿白丝袜足在线av | 精品久久一二三区 | 99在线精品视频 | 日韩精品久久久久久 | 久草在线免费电影 | 国产日韩欧美在线免费观看 | 国产高清视频在线播放 | 激情五月色播五月 | 福利视频一区二区 | 91精品国产综合久久福利 | 国产91av视频在线观看 | 一区二区三区在线观看免费视频 | 91丨九色丨高潮丰满 | 亚洲午夜久久久久 | 99久热| 国产一级电影网 | 天天天天综合 | 在线视频精品 | 亚洲高清资源 | 中文字幕超清在线免费 | 在线电影91| 天天色播 | 久久国产热视频 | 激情五月婷婷丁香 | 西西4444www大胆视频 | 中文字幕在线观看第一区 | 国产高清免费av | 国产一区二区三区黄 | 欧美aaa一级| 免费久久99精品国产婷婷六月 | 国产日产精品久久久久快鸭 | 国产精品成人久久久 | 三日本三级少妇三级99 | 亚洲国产精品成人av | 亚洲成人国产 | 日韩久久激情 | 国产精品麻豆欧美日韩ww | 中文字幕av在线不卡 | 国产成人免费 | 久久高清| 久久久精品一区二区三区 | 国产亚洲精品久久久网站好莱 | 国产精品久久久久一区二区国产 | 中文字幕欧美激情 | 国产一区二区三区高清播放 | 欧美色噜噜噜 | 日韩大片在线 | 久久都是精品 | av中文在线影视 | 在线观看视频你懂得 | 亚洲九九九在线观看 | 亚洲 欧美 成人 | 五月激情视频 | 天天射综合网站 | 国产精品一区二区 91 | 国产特级毛片aaaaaaa高清 | 在线观看国产v片 | 国产1级毛片 | 亚洲一区av| 夜夜操狠狠操 | 久久99久久99精品免视看婷婷 | 一级淫片在线观看 | 久久精品欧美视频 | 超碰成人免费电影 | 国产精品24小时在线观看 | 亚洲精品久久久久久中文传媒 | 手机av看片| 久久精品视频免费播放 | 不卡的av | 开心丁香婷婷深爱五月 | 国产护士在线 | 久久人人爽爽人人爽人人片av | 亚洲日本va中文字幕 | 9992tv成人免费看片 | 国产精品完整版 | av在线激情| 91毛片在线| 91精品国自产拍天天拍 | 综合天天网 | 亚洲永久精品在线观看 | 一级特黄aaa大片在线观看 | 在线小视频你懂得 | 人人涩 | 免费的国产精品 | 国产精品一区二区久久精品爱微奶 | 丁香电影小说免费视频观看 | 免费黄av | 欧美-第1页-屁屁影院 | 久久久免费高清视频 | 久久久久免费视频 | 在线观看av黄色 | 在线观看黄色大片 | 99热最新精品 | 久久免费播放视频 | 久久国产精品久久久久 | 狠狠狠狠狠狠操 | 精品国产一区二区三区噜噜噜 | 日韩在线视频观看 | 最近日本mv字幕免费观看 | 中文字幕一区二区三区四区久久 | 久草在线国产 | 成人在线免费观看网站 | 日韩在线激情 | 黄色成人在线网站 | 欧美日韩一区二区三区在线观看视频 | 99精品黄色片免费大全 | 久久免费精品视频 | www视频在线播放 | 91最新地址永久入口 | 亚洲影院色| 麻豆国产精品一区二区三区 | 一区二区三区在线观看免费 | 欧美激情视频一区二区三区免费 | 国产精品一区在线观看你懂的 | 日韩精品中文字幕在线播放 | 日韩欧美精品一区 | 国产精品高清一区二区三区 | 亚洲成人av一区二区 | 天天色天天草天天射 | 欧美性色19p | 国产精品av免费观看 | 97在线影院 | 不卡视频国产 | 久久ww| 精品在线视频播放 | 久草在线视频首页 | 国产日韩精品在线观看 | 最近高清中文字幕在线国语5 | 精品视频在线免费观看 | 在线视频 亚洲 | 网站免费黄 | 美女视频是黄的免费观看 | 99精品成人| 亚洲视频1 | 国产精品久免费的黄网站 | 国产黄色片在线 | 亚洲开心激情 | 久久久受www免费人成 | 国模一区二区三区四区 | 91视频观看免费 | 国产爽妇网 | 久久男人影院 | 欧美在线观看视频免费 | 一级全黄毛片 | 精品美女久久久久 | av午夜电影 | 四虎在线免费观看视频 | 亚洲 欧美日韩 国产 中文 | 日韩在线视 | 久久国产精品电影 | 特级西西444www大精品视频免费看 | 五月婷久| 99在线观看视频网站 | 久久久国产高清 | 免费a网 | 9992tv成人免费看片 | 国内精品久久久久影院优 | 99热九九这里只有精品10 | www.国产毛片 | 欧美亚洲国产精品久久高清浪潮 | 狠狠色伊人亚洲综合成人 | 开心激情婷婷 | 久久久69 | 欧美日韩在线第一页 | 欧美日韩国产一区二区在线观看 | 99久久精品免费看 | 国产尤物一区二区三区 | 欧美精品久久久久久久久久 | 婷婷中文字幕在线观看 | 欧美精品被 | 国产精品综合久久久久 | 国内精品视频免费 | 91精品国产九九九久久久亚洲 | 午夜美女福利直播 | 狠狠操91| 美女av在线免费 | bbbb操bbbb| 国产精品 日韩精品 | 美女视频又黄又免费 | 在线国产能看的 | 肉色欧美久久久久久久免费看 | 久青草国产在线 | 国产系列 在线观看 | 黄色特级片 | 日日夜夜亚洲 | 久久免费av电影 | 免费看成年人 | 99视频在线精品国自产拍免费观看 | 国产精品毛片久久久久久 | 一级黄色a视频 | 99精品国产兔费观看久久99 | 日韩素人在线观看 | 最新国产精品久久精品 | 国产亚洲人成网站在线观看 | 日韩精品在线一区 | 亚洲精品麻豆视频 | 99精品国产高清在线观看 | 狠狠综合 | 毛片a级片| 国产精品正在播放 | 精品久久久久久久久久国产 | 亚洲资源在线 | 国产美女精品久久久 | 国产精品一区专区欧美日韩 | av看片网址 | 一级电影免费在线观看 | 久久国产精品99久久久久久老狼 | 成人午夜免费剧场 | 草久久精品 | 制服丝袜天堂 | 在线导航av | 中文字幕在线国产精品 | 国产高清av免费在线观看 | 久久成人综合 | 91久久久国产精品 | 青春草视频 | 99九九视频| 国产九九九九九 | 久久激情视频 | 久久久高清一区二区三区 | 精品影院一区二区久久久 | 国产亚洲一区二区在线观看 | 日本中文字幕一二区观 | 成人蜜桃| 亚洲精品网址在线观看 | 久久国产精品一区二区三区四区 | 成人在线视频免费观看 | 国产一级小视频 | 伊人首页 | 五月婷婷一级片 | 国产精品永久免费观看 | 中文字幕在线观看完整版 | 国产91精品一区二区麻豆亚洲 | 亚洲精品在线国产 | 欧美在线观看视频一区二区三区 | 欧美日韩中文字幕在线视频 | 中文字幕在线有码 | av中文天堂 | 91亚洲精品乱码久久久久久蜜桃 | 五月婷婷久草 | 久久午夜视频 | 国产又粗又长又硬免费视频 | 国产黑丝袜在线 | 亚洲成人影音 | 亚洲美女在线国产 | 黄色毛片电影 | 国产欧美精品一区二区三区四区 | 午夜视频黄 | 国产日韩亚洲 | 日本三级久久 | 精品成人免费 | 久草在线99| 亚洲精品合集 | 在线亚洲日本 | 五月婷婷综合激情网 | 九九热国产视频 | 国产一区二区在线免费观看 | 亚洲成av人影院 | 久久夜夜操 | 一级黄色大片在线观看 | 91久久国产自产拍夜夜嗨 | 久久久久欧美精品999 | 99这里都是精品 | av天天色 | 天天操天天摸天天爽 | 99久久精品国产观看 | 国产麻豆精品久久一二三 | 456成人精品影院 | www操操| 亚洲天堂精品视频 | 国产精品涩涩屋www在线观看 | 成人黄色在线视频 | www.99在线观看 | 人人玩人人添人人 | 久草在线资源视频 | 中文在线最新版天堂 | 国产97色在线 | 午夜视频在线观看一区二区三区 | 亚洲高清视频在线观看免费 | 7777xxxx| 亚洲爱视频 | av一级二级 | 中文字幕色播 | 黄色资源在线观看 | 久久999精品 | 日韩欧美电影 | 波多野结衣在线播放一区 | 国产精品久久久久久久久久久久午夜 | 日韩高清毛片 | 中文字幕免费观看全部电影 | 精品国产伦一区二区三区观看体验 | 久久亚洲福利视频 | 日韩午夜电影院 | 国内精品美女在线观看 | 国产精品理论片在线播放 | 久草久热 | 三级黄色免费 | 国产精品久久久久久久久久久久 | 在线免费观看羞羞视频 | 亚洲精品视频免费在线观看 | 国产视频999| 九月婷婷综合网 | 91视频大全 | 超碰公开在线观看 | 看av免费 | 午夜精品一区二区三区免费 | 亚洲精品高清视频 | 中文字幕在线播放一区二区 | 狠狠色丁香久久婷婷综合五月 | 久久精品第一页 | av超碰免费在线 | 日韩欧美国产激情在线播放 | 亚洲精品在线观看视频 | 精品久久一二三区 | 中文字幕一区二区三 | 亚洲国产精彩中文乱码av | 91视频麻豆 | 91成人蝌蚪| 天堂中文在线视频 | 黄色成年片 | 日本在线观看一区二区三区 | 99在线视频网站 | 国产精品粉嫩 | av网站大全免费 | 西西www4444大胆视频 | 色狠狠操 | 亚洲精品99久久久久中文字幕 | 蜜臀av性久久久久av蜜臀妖精 | 国产精品久久久久久一区二区 | 国产手机免费视频 | 亚洲精品久久久蜜桃 | 亚洲无吗视频在线 | 欧美一二在线 | 亚洲资源在线网 | 日韩视频在线观看免费 | 美国av大片 | 国产精品高潮呻吟久久久久 | 九九久久精品 | 中文字幕888 | 免费一级日韩欧美性大片 | 国产va饥渴难耐女保洁员在线观看 | 免费在线观看污 | 久久久一本精品99久久精品66 | 国产精品久久久久久婷婷天堂 | 国产精品手机在线 | 天天操天天添天天吹 | 日日操天天爽 | 中文字幕精品三区 | 国产毛片在线 | 成人av免费电影 | 国产成人一区二区三区在线观看 | 91久久精品一区 | 91精品福利在线 | 久久久久亚洲天堂 | 日韩美女av在线 | 欧美疯狂性受xxxxx另类 | 亚洲成人av片 | 欧美精品少妇xxxxx喷水 | 玖玖综合网 | 日韩在线视频网站 | 色免费在线 | 欧美久久久久久久久久久久 | 丁香婷婷成人 | 久久精品久久国产 | 91精品网站在线观看 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 国内视频在线观看 | 欧美日韩国产二区三区 | 亚洲午夜久久久久久久久久久 | 国产精品麻 | 99久久久免费视频 | 色多多在线观看 | 天堂av在线免费观看 | 草久在线观看 | 国产精品久久久久久久久久久久久 | 91污在线| 综合网天天 | 天天干夜夜操视频 | 精品久久久影院 | 亚洲午夜久久久久久久久电影网 | 米奇狠狠狠888 | 国产午夜精品一区二区三区嫩草 | 久久成人高清 | 欧美精品久 | 天天操夜夜叫 | 久久成人亚洲欧美电影 | 亚洲小视频在线观看 | 日日碰夜夜爽 | 久久影院亚洲 | 国产一级在线视频 | 色综合婷婷| 久久福利电影 | 99视频免费看 | 91成人区 | 欧美一区二区三区在线观看 | av大全在线播放 | 日本精品久久久久 | 日韩精品视频免费专区在线播放 | 久久久久国产精品免费免费搜索 | 最新影院 | 日韩r级在线| 免费色av| 国产精品久久久久久av | 国产日产精品一区二区三区四区的观看方式 | 欧美在线视频a | 午夜 久久 tv | 欧美 另类 交 | 亚洲 中文 在线 精品 | 国产日产在线观看 | 探花视频免费在线观看 | 丁香婷婷深情五月亚洲 | 涩涩网站免费 | 国产亚洲精品久久久久久无几年桃 | 特片网久久 | 亚洲欧美日韩在线一区二区 | 国产成人精品午夜在线播放 | 91精品999| 久久久综合香蕉尹人综合网 | 激情在线网站 | 视频在线观看一区 | 国产精品视频线看 | 97在线免费观看视频 | 日本精品视频在线观看 | 狠狠色噜噜狠狠狠狠 | 成人在线小视频 | 久9在线 | avav片| 欧美一区二区在线刺激视频 | 午夜视频在线瓜伦 | 精品国产一区二区三区不卡 | 不卡的av在线播放 | 亚洲手机av | 久久黄色免费 | 五月婷婷视频在线 | 久久精品五月 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产韩国精品一区二区三区 | 国产人免费人成免费视频 | 国产精品免费一区二区 | 国产欧美在线一区二区三区 | 精品美女久久 | 日本精品一区二区三区在线播放视频 | av一级在线观看 | 天堂av在线免费 | 欧美少妇xxxxxx | 日韩欧美视频免费观看 | 天堂av网站| 97成人啪啪网 | 狠狠88综合久久久久综合网 | 国产成人精品不卡 | h久久| 成人国产精品一区二区 | 国产精品午夜在线观看 | 国产黄色精品在线 | 午夜av一区二区三区 | 亚洲人成人在线 | 日韩美女免费线视频 | 夜色资源站国产www在线视频 | 国产高清在线观看 | 手机av在线网站 | 激情综合亚洲 | 色婷婷骚婷婷 | 九九热在线播放 | 在线观看国产日韩 | 探花在线观看 | 国产永久免费高清在线观看视频 | 日韩精品极品视频 | 亚洲专区在线播放 | 亚洲精品美女久久17c | av网在线观看 | 日韩中文字幕免费看 | 天天射日| 成人网大片 | 黄色成人免费电影 | 在线免费av电影 | 国产一区二区不卡视频 | 精品中文字幕在线播放 | 亚洲欧美一区二区三区孕妇写真 | 国内精品久久久久影院男同志 | 九九久久久久久久久激情 | 亚洲日日夜夜 | 欧洲精品一区二区 | 久久国产精品99久久久久 | 久久好看 | 中文字幕一区二区三区乱码在线 | 狠狠色狠狠色综合日日小说 | 在线精品在线 | 久久99久国产精品黄毛片入口 | 黄色影院在线播放 | 天天综合网天天综合色 | 伊人射| 99久久精品免费 | 在线看av网址 | 日韩在线视频免费观看 | 99超碰在线播放 | 91大神精品视频在线观看 | 色中文字幕在线观看 | 亚洲精品视频在线 | www在线免费观看 | 特级毛片在线观看 | 一本色道久久综合亚洲二区三区 | 成人丝袜 | 看全黄大色黄大片 | 五月天婷婷视频 | 最新免费av在线 | 免费视频xnxx com | 亚洲人成人99网站 | 免费看的毛片 | 天天色成人网 | 中文字幕 欧美性 | 五月婷婷在线视频观看 | 天天综合色天天综合 | 成人黄色在线观看视频 | 最近中文字幕大全 | 91av电影在线 | 国际精品久久久 | 亚洲专区在线播放 | 四虎最新入口 | 最新国产在线视频 | 婷婷激情综合网 | 久久日韩精品 | 正在播放一区二区 | 91在线免费播放视频 | 免费在线观看av电影 | 国产精品欧美久久久久三级 | 日本三级国产 | 精品视频在线免费观看 | 成人精品福利 | 蜜臀av一区 | 麻豆视频成人 | 国产不卡片 | 人人要人人澡人人爽人人dvd | 国产精品99蜜臀久久不卡二区 | 2024av| 国产精品毛片完整版 | 日韩电影中文字幕在线观看 | 国产精品一区二区三区免费看 | 成年美女黄网站色大片免费看 | 国产精品1区2区在线观看 | 亚洲国产丝袜在线观看 | 日韩一区二区三区在线观看 | 91久久久久久国产精品 | 国产精品欧美久久 | 黄色免费高清视频 | 国产精品一区二区精品视频免费看 | 国产一区二区精品久久91 | 成年人电影免费在线观看 | 五月婷婷色综合 | 国产精品乱码一区二区视频 | 超碰人人av | 99操视频 | 天天干天天拍天天操天天拍 | 日本精品一区二区三区在线观看 | 天天玩天天干 | 亚洲艳情 | 97色综合 | 69久久夜色精品国产69 | 国产99中文字幕 | 色在线视频 | 亚洲精品乱码久久久久v最新版 | 狠狠精品| 欧美一区二区在线免费看 | 在线观看免费高清视频大全追剧 | 蜜臀久久99精品久久久酒店新书 | 天天爱综合 | 亚州中文av | 欧美大片在线观看一区 | www.狠狠操.com| 精品免费观看 | 亚洲精品在线视频播放 | 97国产在线观看 | 国产高清 不卡 | 日韩videos高潮hd | 在线观av | 黄色日视频 | 狠狠狠操 | 在线看国产 | 国产在线精品一区二区不卡了 | 久久1电影院 | 国产精品一区二区久久精品爱微奶 | 午夜在线看片 | 亚洲综合欧美精品电影 | 国产精品v a免费视频 | 日本三级香港三级人妇99 | av一级黄| 九色porny真实丨国产18 | 91在线文字幕 | 波多野结衣视频一区二区三区 | 亚洲va男人天堂 | 国产一区二区在线视频观看 | 最新一区二区三区 | 国产精品97 | 天天干天天操天天爱 | 91成人国产 | 91av超碰| 精品久久久免费视频 | 91视频首页 | 日日日天天天 | 91精品在线免费视频 | 亚洲另类在线视频 | 天天色天天爱天天射综合 | 2022国产精品视频 | 五月婷婷一区二区三区 | 国产黄色大片免费看 | 亚洲丁香日韩 | 91精品国产成人 | 国内精品99 | 国产流白浆高潮在线观看 | 五月婷婷av | 国产成人黄色网址 | 日本中文字幕高清 | 视频在线在亚洲 | 欧美性护士 | 永久免费精品视频 | 精品999在线观看 | 日韩在线视频线视频免费网站 | 狠狠ri| 久久免费a| 欧美va天堂va视频va在线 | av在线免费在线观看 | 一区二区三区高清在线 | 精品视频在线视频 | 久久综合精品一区 | 最近中文字幕视频网 | 久久激情五月丁香伊人 | 国产视频在线免费 | 日韩高清三区 | 一区二区三区福利 | 日韩欧美精品在线视频 | 午夜123 | 色婷婷播放 | 精品毛片久久久久久 | 中文字幕大全 | av在线成人 | 不卡的av在线 | 四虎视频 | 久久久www成人免费毛片 | 久久久久国产精品www | 99久久久国产免费 | 午夜视频在线观看欧美 | 免费看v片 | 欧美超碰在线 | 毛片精品免费在线观看 | 国产黄色免费看 | 国产美女主播精品一区二区三区 | 久久91久久久久麻豆精品 | 免费一级片在线 | 毛片.com| 国产精品久久久久久久久久久久午夜 | 精品国产自在精品国产精野外直播 | 米奇四色影视 | 久久久久欠精品国产毛片国产毛生 | 天堂av最新网址 | 亚洲欧美日韩在线一区二区 | 久久av免费观看 | 日韩免费在线观看视频 | 免费观看国产精品视频 | 成人在线观看影院 |