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

醬壇子

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

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

公告

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

常用鏈接

留言簿(19)

我參與的團隊

搜索

  •  

積分與排名

  • 積分 - 389620
  • 排名 - 64

最新隨筆

最新評論

閱讀排行榜

評論排行榜

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

? 在本文開始之處,先簡要地說一下何為短字符和寬字符.
? 所謂的短字符,就是用8bit來表示的字符,典型的應(yīng)用是ASCII碼.而寬字符,顧名思義,就是用16bit表示的字符,典型的有UNICODE.關(guān)于windows下的ASCII和UNICODE的更多信息,可以參考這兩本經(jīng)典著作:《windows 程序設(shè)計》,《windows 核心編程》.這兩本書關(guān)于這兩種字符都有比較詳細(xì)的解說.
?
? 寬字符轉(zhuǎn)換為多個短字符是一個難點,不過我們只要掌握到其中的要領(lǐng),便可如魚得水.
? 好吧,那就讓我們開始吧.
?
? 這個是我們需要轉(zhuǎn)化的多字節(jié)字符串: ?
? char sText[20] = {"多字節(jié)字符串!OK!"};
?
? 我們需要知道轉(zhuǎn)化后的寬字符需要多少個數(shù)組空間.雖然在這個里程里面,我們可以直接定義一個20*2寬字符的數(shù)組,并且事實上將運行得非常輕松愉快.但假如多字節(jié)字符串更多,達(dá)到上千個乃至上萬個,我們將會發(fā)現(xiàn)其中浪費的內(nèi)存將會越來越多.所以以多字節(jié)字符的個數(shù)的兩倍作為寬字符數(shù)組下標(biāo)的聲明絕對不是一個好主意.
? 所幸,我們能夠確知所需要的數(shù)組空間.
? 我們只需要將MultiByteToWideChar()的第四個形參設(shè)為-1,即可返回所需的短字符數(shù)組空間的個數(shù):
? DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, sText, -1, NULL, 0);
?
? 接下來,我們只需要分配響應(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)換實例!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)分配好空間,并且由于字符串較短,可以不理會浪費的空間,僅僅只是想簡單地將短字符和寬字符相互轉(zhuǎn)換,那有沒有什么簡便的方法呢?
?? WIN32 API里沒有符合這種要求的函數(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;
? }
?
?
? 使用方法也很簡單,示例如下:
? 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]));
?
? 這兩個函數(shù)的缺點在于無法動態(tài)分配內(nèi)存,在轉(zhuǎn)換很長的字符串時可能會浪費較多內(nèi)存空間;優(yōu)點是,在不考慮浪費空間的情況下轉(zhuǎn)換較短字符串非常方便.

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

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

Feedback

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

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

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

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

  回復(fù)  更多評論
  

# 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ù)  更多評論
  

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

# 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ù)  更多評論
  

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

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

接下來,我們只需要分配響應(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ù)  更多評論
  

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

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

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

看看最前面的標(biāo)識就知道,原文照搬過來的!!  回復(fù)  更多評論
  

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

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

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

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

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

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

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

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

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

短字節(jié)--》長字節(jié)

  回復(fù)  更多評論
  

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

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

# 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ù)  更多評論
  

# 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ù)  更多評論
  

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

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

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

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

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

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

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

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

# 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ù)  更多評論
  

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

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

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

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

# 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ù)  更多評論
  

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

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

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

# re: MultiByteToWideChar和WideCharToMultiByte用法詳解 2013-12-06 14:05 1231
你寫的文章就像牛屎 沒見過這么多錯誤的文章 完全看不懂 你是外星人?  回復(fù)  更多評論
  

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

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


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   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>
            精品不卡一区二区三区| 亚洲国产成人tv| 午夜精品在线观看| 亚洲国产日韩精品| 亚洲视频欧洲视频| 亚洲国产另类精品专区| 欧美日韩国产在线播放| 久久综合色天天久久综合图片| 91久久黄色| 国产一区二区三区久久悠悠色av | 亚洲欧洲综合| 亚洲精品看片| 国产精品99久久久久久久vr | 久久尤物视频| 欧美精品一区二区蜜臀亚洲| 麻豆国产精品一区二区三区| 欧美激情第1页| 国产精品区一区二区三区| 国产精品乱码妇女bbbb| 精品av久久707| 亚洲午夜久久久| 久久视频在线视频| 亚洲精品国产品国语在线app| 亚洲一区二区三区精品在线观看 | 欧美大片va欧美在线播放| 欧美精品国产一区二区| 国产一区自拍视频| 99精品欧美| 欧美激情欧美激情在线五月| 亚洲一区欧美二区| 国产精品wwwwww| 亚洲深夜影院| 一区二区黄色| 欧美日韩一区高清| 中国成人黄色视屏| 亚洲精品免费一二三区| 久久综合伊人77777蜜臀| 国产精品午夜在线观看| 欧美一区二区日韩一区二区| 欧美日韩精品一区二区三区四区| 国内精品久久久久影院色| 亚洲制服少妇| 亚洲影院一区| 韩国一区二区在线观看| 久久亚洲精品一区二区| 久久精品国产免费看久久精品| 国产日韩欧美| 狂野欧美一区| 午夜在线播放视频欧美| 国产一区二区三区四区三区四| 欧美有码在线视频| 久久夜色撩人精品| 亚洲午夜精品国产| 久久精品国产精品亚洲综合| 亚洲欧洲精品一区| 亚洲一区二区在线视频| 国产综合在线看| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩视频第一区| 欧美综合国产精品久久丁香| 久久天天躁狠狠躁夜夜av| 亚洲免费精品| 久久蜜桃精品| 久久久九九九九| 国产精品久久国产三级国电话系列| 久久精品人人做人人爽| 欧美国产第二页| 欧美一区二区女人| 欧美日韩国产页| 久久视频国产精品免费视频在线 | 亚洲人妖在线| 午夜在线视频一区二区区别| 99精品国产在热久久下载| 亚洲在线中文字幕| 亚洲影院免费观看| 欧美精品久久一区| 亚洲国产高清一区| 韩国三级在线一区| 欧美影院午夜播放| 久久亚洲视频| 揄拍成人国产精品视频| 免费视频一区| 亚洲国产精品成人va在线观看| 国产日韩欧美视频在线| 亚洲桃色在线一区| 久久久www| 国产精品一区在线播放| 男同欧美伦乱| 一区二区视频免费在线观看| 性色一区二区三区| 亚洲欧美日韩综合国产aⅴ| 国产综合18久久久久久| 久久国产欧美精品| 麻豆精品一区二区综合av| 亚洲国产精品一区二区www| 欧美国产高清| 亚洲最新合集| 久久嫩草精品久久久精品一| 亚洲经典视频在线观看| 欧美精品aa| 亚洲欧美日本日韩| 亚洲高清一区二区三区| 欧美日本三区| 美女视频网站黄色亚洲| 亚洲综合日韩中文字幕v在线| 欧美国产极速在线| 久久激情综合网| 亚洲一区二区三区四区视频| 亚洲国产美女精品久久久久∴| 亚洲电影在线观看| 久久免费偷拍视频| 亚洲天堂av在线免费| 欧美成人资源网| 久久久亚洲国产天美传媒修理工| 99pao成人国产永久免费视频| 久久五月激情| 欧美在线免费| 午夜欧美大尺度福利影院在线看| 亚洲日本aⅴ片在线观看香蕉| 亚洲大片在线观看| 久久网站热最新地址| 久久综合精品国产一区二区三区| 午夜精品在线| 久久久午夜精品| 美女诱惑黄网站一区| 欧美日韩精品不卡| 欧美日韩综合在线| 欧美午夜久久| 国产一区二区三区自拍| 一区二区三区我不卡| 在线免费观看成人网| 亚洲激情偷拍| 西西人体一区二区| 美女免费视频一区| 日韩视频精品在线| 亚洲欧美bt| 久久久午夜电影| 国产农村妇女精品一二区| 91久久精品一区二区别| 亚洲欧美激情视频在线观看一区二区三区| 欧美一区二区在线播放| 亚洲人成网在线播放| 欧美在线亚洲一区| 欧美日韩精品一区二区| 亚洲第一区在线观看| 久久精品国产第一区二区三区最新章节 | 亚欧成人在线| 亚洲国产三级网| 久久成人资源| 韩日视频一区| 久久精品人人爽| 黄色成人小视频| 久久精品国产999大香线蕉| 9久草视频在线视频精品| 欧美韩日一区二区| 亚洲精品视频在线| 亚洲国产91| 蜜臀av性久久久久蜜臀aⅴ| 激情久久久久久久久久久久久久久久| 亚洲欧美日韩国产一区| 亚洲砖区区免费| 国产亚洲欧美日韩在线一区 | 国产欧美日韩视频在线观看 | 国产一区二区三区自拍| 美女性感视频久久久| 欧美高清视频免费观看| 夜夜嗨av一区二区三区四季av| 亚洲国产欧美一区| 欧美性生交xxxxx久久久| 亚洲午夜国产成人av电影男同| 日韩一区二区精品视频| 国产一区二区三区成人欧美日韩在线观看 | 久久综合久色欧美综合狠狠 | 免费成人黄色av| 亚洲五月婷婷| 欧美在线免费视屏| 开心色5月久久精品| 校园春色国产精品| 免费不卡视频| 久久久精品动漫| 欧美婷婷久久| 欧美激情国产精品| 狠狠色狠狠色综合| 亚洲一区二区三区四区五区黄 | 欧美成人综合在线| 久久久久久久国产| 欧美三级在线视频| 久久人人97超碰精品888| 国产精品捆绑调教| 99ri日韩精品视频| 宅男精品视频| 国产精品久久网站| 亚洲视频在线观看视频| 亚洲免费成人av| 欧美韩日精品| 亚洲一区免费看| 久久精品中文字幕免费mv| 国产一区二区三区日韩| 欧美亚洲一区二区在线| 久久综合久色欧美综合狠狠|