青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

醬壇子

專(zhuān)注C++技術(shù) 在這里寫(xiě)下自己的學(xué)習(xí)心得 感悟 和大家討論 共同進(jìn)步(歡迎批評(píng)!!!)

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  66 Posts :: 16 Stories :: 236 Comments :: 0 Trackbacks

公告

王一偉 湖南商學(xué)院畢業(yè) 電子信息工程專(zhuān)業(yè)

常用鏈接

留言簿(19)

我參與的團(tuán)隊(duì)

搜索

  •  

積分與排名

  • 積分 - 389905
  • 排名 - 64

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

//========================================================================
//TITLE:
//??? MultiByteToWideChar和WideCharToMultiByte用法詳解
//AUTHOR:
//??? norains
//DATE:
//??? 第一版:Monday? 25-December -2006
//??? 增補(bǔ)版:Wednesday 27-December -2006
//??? 修訂版:Wednesday 14-March-2007 (修正之前的錯(cuò)誤例子)
//Environment:
//? EVC4.0 + Standard SDK
//========================================================================
?
1.使用方法詳解

? 在本文開(kāi)始之處,先簡(jiǎn)要地說(shuō)一下何為短字符和寬字符.
? 所謂的短字符,就是用8bit來(lái)表示的字符,典型的應(yīng)用是ASCII碼.而寬字符,顧名思義,就是用16bit表示的字符,典型的有UNICODE.關(guān)于windows下的ASCII和UNICODE的更多信息,可以參考這兩本經(jīng)典著作:《windows 程序設(shè)計(jì)》,《windows 核心編程》.這兩本書(shū)關(guān)于這兩種字符都有比較詳細(xì)的解說(shuō).
?
? 寬字符轉(zhuǎn)換為多個(gè)短字符是一個(gè)難點(diǎn),不過(guò)我們只要掌握到其中的要領(lǐng),便可如魚(yú)得水.
? 好吧,那就讓我們開(kāi)始吧.
?
? 這個(gè)是我們需要轉(zhuǎn)化的多字節(jié)字符串: ?
? char sText[20] = {"多字節(jié)字符串!OK!"};
?
? 我們需要知道轉(zhuǎn)化后的寬字符需要多少個(gè)數(shù)組空間.雖然在這個(gè)里程里面,我們可以直接定義一個(gè)20*2寬字符的數(shù)組,并且事實(shí)上將運(yùn)行得非常輕松愉快.但假如多字節(jié)字符串更多,達(dá)到上千個(gè)乃至上萬(wàn)個(gè),我們將會(huì)發(fā)現(xiàn)其中浪費(fèi)的內(nèi)存將會(huì)越來(lái)越多.所以以多字節(jié)字符的個(gè)數(shù)的兩倍作為寬字符數(shù)組下標(biāo)的聲明絕對(duì)不是一個(gè)好主意.
? 所幸,我們能夠確知所需要的數(shù)組空間.
? 我們只需要將MultiByteToWideChar()的第四個(gè)形參設(shè)為-1,即可返回所需的短字符數(shù)組空間的個(gè)數(shù):
? DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, sText, -1, NULL, 0);
?
? 接下來(lái),我們只需要分配響應(yīng)的數(shù)組空間:
? wchar_t *pwText;
? pwText = new wchar_t[dwNum];
? if(!pwText)
? {
?? delete []pwText;
? }
?
? 接著,我們就可以著手進(jìn)行轉(zhuǎn)換了.在這里以轉(zhuǎn)換成ASCII碼做為例子:
? MultiByteToWideChar (CP_ACP, 0, psText, -1, sText, dwSize);
?
? 最后,使用完畢當(dāng)然要記得釋放占用的內(nèi)存:
? delete []psText;
?
?
? 同理,寬字符轉(zhuǎn)為多字節(jié)字符的代碼如下: ?
? wchar_t wText[20] = {L"寬字符轉(zhuǎn)換實(shí)例!OK!"};
? DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,NULL,0,NULL,FALSE);
? char *psText;
? psText = new char[dwNum];
? if(!psText)
? {
?? delete []psText;
? }
? WideCharToMultiByte (CP_OEMCP,NULL,lpcwszStr,-1,psText,dwNum,NULL,FALSE);
? delete []psText;
?
?? 如果之前我們已經(jīng)分配好空間,并且由于字符串較短,可以不理會(huì)浪費(fèi)的空間,僅僅只是想簡(jiǎn)單地將短字符和寬字符相互轉(zhuǎn)換,那有沒(méi)有什么簡(jiǎn)便的方法呢?
?? WIN32 API里沒(méi)有符合這種要求的函數(shù),但我們可以自己進(jìn)行封裝:
??? ?
? //-------------------------------------------------------------------------------------
? //Description:
? // This function maps a character string to a wide-character (Unicode) string
? //
? //Parameters:
? // lpcszStr: [in] Pointer to the character string to be converted
? // lpwszStr: [out] Pointer to a buffer that receives the translated string.
? // dwSize: [in] Size of the buffer
? //
? //Return Values:
? // TRUE: Succeed
? // FALSE: Failed
? //
? //Example:
? // MByteToWChar(szA,szW,sizeof(szW)/sizeof(szW[0]));
? //---------------------------------------------------------------------------------------
? BOOL MByteToWChar(LPCSTR lpcszStr, LPWSTR lpwszStr, DWORD dwSize)
? {
??? // Get the required size of the buffer that receives the Unicode
??? // string.
??? DWORD dwMinSize;
??? dwMinSize = MultiByteToWideChar (CP_ACP, 0, lpcszStr, -1, NULL, 0);
?
??? if(dwSize < dwMinSize)
??? {
???? return FALSE;
??? }
?
?? ?
??? // Convert headers from ASCII to Unicode.
??? MultiByteToWideChar (CP_ACP, 0, lpcszStr, -1, lpwszStr, dwMinSize); ?
??? return TRUE;
? }
?
? //-------------------------------------------------------------------------------------
? //Description:
? // This function maps a wide-character string to a new character string
? //
? //Parameters:
? // lpcwszStr: [in] Pointer to the character string to be converted
? // lpszStr: [out] Pointer to a buffer that receives the translated string.
? // dwSize: [in] Size of the buffer
? //
? //Return Values:
? // TRUE: Succeed
? // FALSE: Failed
? //
? //Example:
? // MByteToWChar(szW,szA,sizeof(szA)/sizeof(szA[0]));
? //---------------------------------------------------------------------------------------
? BOOL WCharToMByte(LPCWSTR lpcwszStr, LPSTR lpszStr, DWORD dwSize)
? {
?? DWORD dwMinSize;
?? dwMinSize = WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,NULL,0,NULL,FALSE);
?? if(dwSize < dwMinSize)
?? {
??? return FALSE;
?? }
?? WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,lpszStr,dwSize,NULL,FALSE);
?? return TRUE;
? }
?
?
? 使用方法也很簡(jiǎn)單,示例如下:
? wchar_t wText[10] = {L"函數(shù)示例"};
? char sText[20]= {0};
? WCharToMByte(wText,sText,sizeof(sText)/sizeof(sText[0]));
? MByteToWChar(sText,wText,sizeof(wText)/sizeof(wText[0]));
?
? 這兩個(gè)函數(shù)的缺點(diǎn)在于無(wú)法動(dòng)態(tài)分配內(nèi)存,在轉(zhuǎn)換很長(zhǎng)的字符串時(shí)可能會(huì)浪費(fèi)較多內(nèi)存空間;優(yōu)點(diǎn)是,在不考慮浪費(fèi)空間的情況下轉(zhuǎn)換較短字符串非常方便.

?
2.MultiByteToWideChar()函數(shù)亂碼的問(wèn)題

? 有的朋友可能已經(jīng)發(fā)現(xiàn),在標(biāo)準(zhǔn)的WinCE4.2或WinCE5.0 SDK模擬器下,這個(gè)函數(shù)都無(wú)法正常工作,其轉(zhuǎn)換之后的字符全是亂碼.及時(shí)更改MultiByteToWideChar()參數(shù)也依然如此.
? 不過(guò)這個(gè)不是代碼問(wèn)題,其結(jié)癥在于所定制的操作系統(tǒng).如果我們定制的操作系統(tǒng)默認(rèn)語(yǔ)言不是中文,也會(huì)出現(xiàn)這種情況.由于標(biāo)準(zhǔn)的SDK默認(rèn)語(yǔ)言為英文,所以肯定會(huì)出現(xiàn)這個(gè)問(wèn)題.而這個(gè)問(wèn)題的解決,不能在簡(jiǎn)單地更改控制面板的"區(qū)域選項(xiàng)"的"默認(rèn)語(yǔ)言",而是要在系統(tǒng)定制的時(shí)候,選擇默認(rèn)語(yǔ)言為"中文".
? 系統(tǒng)定制時(shí)選擇默認(rèn)語(yǔ)言的位置于:
? Platform -> Setting... -> locale -> default language ,選擇"中文",然后編譯即可.
posted on 2007-03-21 12:01 @王一偉 閱讀(136978) 評(píng)論(41)  編輯 收藏 引用

Feedback

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2007-04-02 10:16 宋鵬
哈哈,正需要  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2007-07-11 21:12 lbblscy
太感謝了!  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2007-08-05 09:34 ishou
這里應(yīng)該是多余的:

if(!pwText)
{
delete []pwText;
}

  回復(fù)  更多評(píng)論
  

# qiqhuzoo 2008-04-07 05:22 qiqhuzoo
azqemfyd http://dokcizxw.com sdatrpbp wtbjzleo <a href="http://wrnapufm.com">jwskvahr</a> [URL=http://qpmjqsuu.com]zfuuhvkk[/URL]   回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-04-10 10:06 yh
為什么和這篇
http://blog.csdn.net/norains/archive/2006/12/25/1461174.aspx
內(nèi)容相同?到底誰(shuí)是原創(chuàng),誰(shuí)是抄襲?
  回復(fù)  更多評(píng)論
  

# zdxlkvbu 2008-04-14 06:47 zdxlkvbu
datsgwxb http://vnympqjy.com whwjsawt mgbqlrbr <a href="http://flnxgxli.com">kbwuugax</a> [URL=http://rspeweyg.com]wplugtld[/URL]   回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-05-22 11:09 路人甲
copy別人的,至少自己看一遍,跑一遍...

下面這段能跑么...后一個(gè)MultiByteToWideChar 參數(shù)都錯(cuò)了..
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, sText, -1, NULL, 0);

接下來(lái),我們只需要分配響應(yīng)的數(shù)組空間:
wchar_t *pwText;
pwText = new wchar_t[dwNum];
if(!pwText)
{
delete []pwText;
}

接著,我們就可以著手進(jìn)行轉(zhuǎn)換了.在這里以轉(zhuǎn)換成ASCII碼做為例子:
MultiByteToWideChar (CP_ACP, 0, psText, -1, sText, dwSize);

最后,使用完畢當(dāng)然要記得釋放占用的內(nèi)存:
delete []psText;  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-06-05 14:51 fff
不知,是不是垃圾
這個(gè)片文章在這里也有
http://blog.csdn.net/norains/archive/2006/12/25/1461174.aspx
不知那個(gè)是原創(chuàng),不知哪個(gè)shabi 偷別人的文章,不注明 “引用”  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 [未登錄](méi) 2008-09-02 11:10 l
Thank you  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-10-23 09:59 qiuqiu_emb
//AUTHOR:
// norains

看看最前面的標(biāo)識(shí)就知道,原文照搬過(guò)來(lái)的!!  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-10-23 10:01 qiuqiu_emb
都是互相抄襲的,哪個(gè)有那么多時(shí)間和精力花在寫(xiě)這個(gè)上面  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-10-23 10:21 FEIM Studios
FreeEIM 發(fā)GSM短信,用到此函數(shù)。  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-11-18 09:08 過(guò)客
何必在意是不是原創(chuàng),對(duì)你有用就行@qiuqiu_emb
  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-12-11 10:41 hoodlum1980
請(qǐng)注意該函數(shù)的最后一個(gè)參數(shù)是指向BOOL類(lèi)型的指針!所以文章里把最后一個(gè)參數(shù)寫(xiě)為FALSE具有非常嚴(yán)重的誤導(dǎo)性,實(shí)際上這里寫(xiě)為FALSE本質(zhì)上就相當(dāng)于寫(xiě)為NULL。

希望樓主改正!!!  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-12-11 10:42 hoodlum1980
@過(guò)客
我不同意你的觀點(diǎn)。如果是轉(zhuǎn)載的,就應(yīng)該注明。這體現(xiàn)對(duì)原作者的尊重。也防止被誤認(rèn)為是轉(zhuǎn)載者的文章,以免混淆來(lái)源。
  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2008-12-29 00:49 飛鴿傳書(shū)
哇,終于被我給找到了。  回復(fù)  更多評(píng)論
  

# yajenine 2009-08-15 14:13 yajenine
Learning to live in the present moment is part of the path of joy.  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2009-08-20 22:27 快樂(lè)就好科技很快
我們只需要將MultiByteToWideChar()的第四個(gè)形參設(shè)為-1,即可返回所需的短字符數(shù)組空間的個(gè)數(shù):
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, sText, -1, NULL, 0);

短字節(jié)--》長(zhǎng)字節(jié)

  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2009-08-20 22:35 快樂(lè)就好科技很快
錯(cuò)誤百出,看的人要注意一下,  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 [未登錄](méi) 2009-08-22 00:08 hdqqq
照著樓主的代碼,果然有問(wèn)題,麻煩樓主以后寫(xiě)代碼或者轉(zhuǎn)文章對(duì)讀者負(fù)責(zé)一下,最煩這種轉(zhuǎn)文章的,搞的搜索結(jié)果都一樣,都是轉(zhuǎn)帖的。  回復(fù)  更多評(píng)論
  

# xratdicg 2009-08-28 05:30 xratdicg
<a href="http://vqghhajj.com">lpxbgvzk</a> rqxgyfzj http://clqevfio.com bsnzaegb dyrfnmyy [URL=http://vwjxgmnh.com]qcmxlmsw[/URL]   回復(fù)  更多評(píng)論
  

# yhdlpifi 2009-08-31 20:36 yhdlpifi
<a href="http://rmsghert.com">chtzzeor</a> [URL=http://fznvrfev.com]ktnieivr[/URL] tlgpukqm http://kknylcom.com ewyyfaqt ixvorjpu   回復(fù)  更多評(píng)論
  

# 很汗 2009-09-09 09:11 beeboo
if(!pwText)
{
delete []pwText;
}
這樣寫(xiě)是致命的  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2009-09-14 21:01 bob
@beeboo
這樣寫(xiě)為什么是致命的呢?  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2009-10-22 17:02 李天王
@yh
這個(gè)已經(jīng)不重要了,重要的是內(nèi)容的確很不錯(cuò)  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2010-03-19 14:47 @@
糟透了...根本不能跑~~  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2010-09-04 14:38 ss
@yh
看看時(shí)間就知道了。。。  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 [未登錄](méi) 2010-09-17 10:44 sdf
非常非常的垃圾
抄襲別人的 也請(qǐng)你不要抄錯(cuò)了好嗎????  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2011-04-15 12:50 ring03
thanks!  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2011-08-08 19:31 d
sha cha , 一堆錯(cuò)誤  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2011-09-23 21:18 home loans
It is well known that cash makes us autonomous. But how to act when somebody doesn't have cash? The one way is to get the loans or credit loan.   回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 [未登錄](méi) 2011-11-08 16:07 hello world
我們只需要將MultiByteToWideChar()的第四個(gè)形參設(shè)為-1,即可返回所需的短字符數(shù)組空間的個(gè)數(shù): 
這個(gè)-1代表的含義讓程序自已判斷源串的大小,要得到空間的個(gè)數(shù),實(shí)際上是要第5個(gè)參數(shù),設(shè)為NULL,

windows 核心編程有,上面的這個(gè)例子,不求甚解。  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2012-03-16 09:18 song
代碼錯(cuò)誤百出,真是誤人子弟  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2012-05-07 19:39 zxxxx
@快樂(lè)就好科技很快
同意,數(shù)組位置放錯(cuò)位置了  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2012-07-20 19:25 飛飛龍
誤人子弟
int MultiByteToWideChar(
UINT CodePage, // code page
DWORD dwFlags, // character-type options
LPCSTR lpMultiByteStr, // string to map
int cbMultiByte, // number of bytes in string
LPWSTR lpWideCharStr, // wide-character buffer
int cchWideChar // size of buffer
);

int WideCharToMultiByte(
UINT CodePage, // code page
DWORD dwFlags, // performance and mapping flags
LPCWSTR lpWideCharStr, // wide-character string
int cchWideChar, // number of chars in string
LPSTR lpMultiByteStr, // buffer for new string
int cbMultiByte, // size of buffer
LPCSTR lpDefaultChar, // default for unmappable chars
LPBOOL lpUsedDefaultChar // set when default char used
);  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2012-08-30 09:51 111122
不是多余的, 只是delete[] pszText,不合適.@ishou
  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 [未登錄](méi) 2013-04-28 14:26 張杰
歡迎加群 20072918 colorfire 請(qǐng)注明C++  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 [未登錄](méi) 2013-08-16 13:42 111
錯(cuò)誤百出  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2013-12-06 14:05 1231
你寫(xiě)的文章就像牛屎 沒(méi)見(jiàn)過(guò)這么多錯(cuò)誤的文章 完全看不懂 你是外星人?  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2014-04-17 23:45 yellowtail
博主代碼有錯(cuò),轉(zhuǎn)換ascii那里,最后一個(gè)參數(shù)肯定是dwNum啊,
竟然寫(xiě)成dwSize了,無(wú)語(yǔ)  回復(fù)  更多評(píng)論
  

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 [未登錄](méi) 2015-06-19 22:30 sunny
看了前幾行,就已經(jīng)一堆的錯(cuò)誤,如想獲取緩沖區(qū)的長(zhǎng)度,不是使第四個(gè)參數(shù)為-1,是最后一個(gè)參數(shù)為0,以下是百度百科的原話(huà):
cchMultiByte:指定由參數(shù)lpMultiByteStr指向的字符串中字節(jié)的個(gè)數(shù)。如果lpMultiByteStr指定的字符串以空字符終止,可以設(shè)置為-1(如果字符串不是以空字符中止,設(shè)置為-1可能失敗,可能成功),此參數(shù)設(shè)置為0函數(shù)將失敗。
lpWideCharStr:指向接收被轉(zhuǎn)換字符串的緩沖區(qū)。
cchWideChar:指定由參數(shù)lpWideCharStr指向的緩沖區(qū)的寬字符個(gè)數(shù)。若此值為零,函數(shù)返回緩沖區(qū)所必需的寬字符數(shù),在這種情況下,lpWideCharStr中的緩沖區(qū)不被使用。
此外還有一堆的變量名敲錯(cuò)什么的,這樣的博文,真的還不如不寫(xiě),以免誤導(dǎo)別人!
  回復(fù)  更多評(píng)論
  


只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久www成人免费无遮挡大片 | 欧美亚洲免费电影| 中国日韩欧美久久久久久久久| 亚洲欧洲一区二区在线观看| 亚洲欧洲精品一区二区三区不卡 | 激情婷婷久久| 亚洲国产欧美一区二区三区丁香婷| 有码中文亚洲精品| 亚洲欧洲日夜超级视频| 亚洲伦理久久| 亚洲午夜精品| 欧美伊人久久久久久午夜久久久久| 久久激情五月丁香伊人| 久久久噜噜噜久久久| 欧美成人性生活| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲综合日本| 久久国产一区二区| 欧美成人黄色小视频| 欧美日韩精品免费观看视一区二区 | 一本色道久久综合亚洲精品高清 | 国产欧美一区二区三区在线老狼| 国产一区二区中文| 亚洲欧洲综合另类| 亚洲伊人久久综合| 久久只有精品| 日韩视频专区| 欧美伊人久久久久久午夜久久久久| 久久人91精品久久久久久不卡| 欧美高清视频一区二区| 欧美午夜理伦三级在线观看| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 欧美激情第10页| 国产精品视频一区二区高潮| 影院欧美亚洲| 亚洲天堂av在线免费观看| 久久久久9999亚洲精品| 亚洲国产另类久久久精品极度| 亚洲图中文字幕| 鲁大师影院一区二区三区| 国产精品福利在线| 亚洲国产毛片完整版| 亚洲已满18点击进入久久| 免费美女久久99| 一区二区三区视频观看| 久久人人爽人人爽爽久久| 欧美午夜不卡在线观看免费 | 性视频1819p久久| 亚洲福利国产精品| 新片速递亚洲合集欧美合集| 欧美国产日本韩| 国产亚洲精品一区二555| 一本到高清视频免费精品| 久久综合色8888| 亚洲午夜国产成人av电影男同| 久热综合在线亚洲精品| 国产精品免费看久久久香蕉| 亚洲黄色大片| 久久久久久久尹人综合网亚洲| 亚洲日本在线视频观看| 久久久久国色av免费观看性色| 欧美视频久久| 亚洲人成艺术| 久久综合伊人77777蜜臀| 国产精品99久久99久久久二8 | 国产日韩欧美综合精品| 一区二区三区福利| 欧美好吊妞视频| 久久九九国产精品| 国产精品主播| 亚洲一区综合| 亚洲美女淫视频| 欧美jizz19hd性欧美| 一区二区三区在线视频观看 | 亚洲天堂网在线观看| 亚洲国产精品久久久久| 久久午夜电影| 黄色亚洲免费| 性欧美大战久久久久久久久| 在线亚洲欧美视频| 欧美日韩精品久久久| 日韩视频免费观看高清在线视频| 美女视频黄 久久| 欧美在线你懂的| 国产女人18毛片水18精品| 午夜精品久久99蜜桃的功能介绍| 日韩午夜三级在线| 欧美日韩国产综合视频在线观看| 亚洲精品一区二区三区婷婷月 | 国产精品国产福利国产秒拍| 在线视频日韩精品| 亚洲免费电影在线观看| 欧美日韩国产另类不卡| 日韩视频一区二区三区| 亚洲人www| 欧美精品自拍| 在线视频免费在线观看一区二区| 亚洲日本一区二区| 欧美日韩国产精品| 亚洲影院免费| 亚洲一区二区日本| 国产免费成人av| 久久精品国产亚洲a| 欧美在线免费一级片| 精品福利电影| 欧美激情2020午夜免费观看| 免费在线看一区| 日韩一级在线观看| 一本一本大道香蕉久在线精品| 欧美婷婷在线| 欧美一区二区高清| 久久激情一区| 亚洲国产精品久久久久秋霞不卡| 亚洲高清不卡av| 欧美日韩蜜桃| 欧美一级理论性理论a| 欧美有码视频| 91久久久在线| 99re6热在线精品视频播放速度| 欧美午夜免费| 久久精品视频在线观看| 久久婷婷国产综合国色天香| 亚洲精品一品区二品区三品区| 亚洲最新在线| 国产综合香蕉五月婷在线| 欧美电影在线观看| 欧美日韩亚洲视频| 久久精品一区二区三区中文字幕| 麻豆精品视频在线| 亚洲一区二区精品在线观看| 欧美一区二区三区日韩视频| 亚洲欧洲综合另类在线| 在线视频精品一| 激情成人综合网| 亚洲精品乱码久久久久| 国产色爱av资源综合区| 免费看亚洲片| 国产精品高精视频免费| 久久夜色精品| 欧美日韩在线一区| 久久免费的精品国产v∧| 欧美高清视频在线观看| 午夜日韩在线| 免费观看成人| 午夜精品一区二区三区四区| 美脚丝袜一区二区三区在线观看 | 国产午夜精品理论片a级大结局| 欧美国产精品v| 国产精品男女猛烈高潮激情| 欧美a一区二区| 国产精品色婷婷久久58| 欧美高清影院| 国产农村妇女精品一区二区| 亚洲高清视频一区| 国产一区二区三区精品久久久 | 亚洲精品美女久久7777777| 亚洲男人av电影| 日韩亚洲欧美中文三级| 久久国产福利| 亚洲欧美日韩国产中文| 欧美大片在线观看一区| 久久精品主播| 国产精品久久久久aaaa| 亚洲二区视频在线| 含羞草久久爱69一区| 一区二区三区免费在线观看| 亚洲欧洲一区| 久久激情五月激情| 亚洲欧美资源在线| 欧美日本高清一区| 欧美成人激情视频| 狠狠入ady亚洲精品| 亚洲综合激情| 亚洲视频 欧洲视频| 免费永久网站黄欧美| 久久综合九色| 国产一区二区三区免费观看| 在线亚洲一区观看| 正在播放欧美一区| 欧美成人亚洲成人| 欧美大成色www永久网站婷| 国产综合精品| 欧美一区二区视频97| 亚洲欧美一区在线| 国产精品白丝黑袜喷水久久久 | 你懂的国产精品| 韩国精品一区二区三区| 亚洲欧美国产77777| 亚洲欧美日韩国产成人精品影院| 欧美绝品在线观看成人午夜影视| 欧美国产亚洲精品久久久8v| 在线观看视频一区二区欧美日韩| 欧美在线视频全部完| 久久riav二区三区| 国产日产欧美a一级在线| 亚洲欧美www| 小黄鸭精品aⅴ导航网站入口| 国产精品乱人伦一区二区 | 久久综合伊人77777蜜臀| 免费国产自线拍一欧美视频|