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

C++ 控制臺格式化打印技巧

開發 后端
我寫文章主要是為了給自己寫文檔。我在編程時非常健忘,所以我經常會寫下有用的代碼片段、特殊的特性,以及我使用的編程語言中的常見錯誤。這篇文章完全切合我最初的想法,因為它涵蓋了從 C++ 控制臺格式化打印時的常見用例。

[[437366]]

下次當你為控制臺輸出的格式而苦惱時,請參考這篇文章及其速查表。

我寫文章主要是為了給自己寫文檔。我在編程時非常健忘,所以我經常會寫下有用的代碼片段、特殊的特性,以及我使用的編程語言中的常見錯誤。這篇文章完全切合我最初的想法,因為它涵蓋了從 C++ 控制臺格式化打印時的常見用例。

像往常一樣,這篇文章帶有大量的例子。除非另有說明,代碼片段中顯示的所有類型和類都是 std 命名空間的一部分。所以當你閱讀這段代碼時,你必須在類型和類的前面加上using namespace std;。當然,該示例代碼也可以在 GitHub 上找到。

面向對象的流

如果你曾經用過 C++ 編程,你肯定使用過 cout。當你包含 <iostream> 時,ostream 類型的 cout 對象就進入了作用域。這篇文章的重點是 cout,它可以讓你打印到控制臺,但這里描述的一般格式化對所有 ostream 類型的流對象都有效。ostream 對象是 basic_ostream 的一個實例,其模板參數為 char 類型。頭文件 <iosfwd> 是 <iostream> 的包含層次結構的一部分,包含了常見類型的前向聲明。

類 basic_ostream 繼承于 basic_ios,該類型又繼承于 ios_base。在 cppreference.com 上你可以找到一個顯示不同類之間關系的類圖。

ios_base 類是所有 I/O 流類的基類。basic_ios 類是一個模板類,它對常見的字符類型進行了模板特化specialization,稱為 ios。因此,當你在標準 I/O 的上下文中讀到 ios 時,它是 basic_ios 的 char 類型的模板特化。

格式化流

一般來說,基于 ostream 的流有三種格式化的方法。

  1. 使用 ios_base 提供的格式標志。
  2. 在頭文件 <iomanip> 和 <ios> 中定義的流修改函數。
  3. 通過調用 << 操作符的 特定重載

所有這些方法都有其優點和缺點,通常取決于使用哪種方法的情況。下面顯示的例子混合使用所有這些方法。

右對齊

默認情況下,cout 占用的空間與要打印的數據所需的空間一樣大。為了使這種右對齊的輸出生效,你必須定義一個行允許占用的最大寬度。我使用格式標志來達到這個目的。

右對齊輸出的標志和寬度調整只適用于其后的行。

  1. cout.setf(ios::right, ios::adjustfield);
  2. cout.width(50);
  3. cout << "This text is right justified" << endl;
  4. cout << "This text is left justified again" << endl;

在上面的代碼中,我使用 setf 配置了右對齊的輸出。我建議你將位掩碼 ios::adjustfield 應用于 setf,這將使位掩碼指定的所有標志在實際的 ios::right 標志被設置之前被重置,以防止發生組合碰撞。

填充空白

當使用右對齊輸出時,默認情況下,空的地方會用空白字符填充。你可以通過使用 setfill 指定填充字符來改變它:

  1. cout << right << setfill('.') << setw(30) << 500 << " pcs" << endl;
  2. cout << right << setfill('.') << setw(30) << 3000 << " pcs" << endl;
  3. cout << right << setfill('.') << setw(30) << 24500 << " pcs" << endl;

代碼輸出如下:

  1. ...........................500 pcs
  2. ..........................3000 pcs
  3. .........................24500 pcs

組合

想象一下,你的 C++ 程序記錄了你的儲藏室庫存。不時地,你想打印一份當前庫存的清單。要做到這一點,你可以使用以下格式。

下面的代碼是左對齊和右對齊輸出的組合,使用點作為填充字符,可以得到一個漂亮的列表:

  1. cout << left << setfill('.') << setw(20) << "Flour" << right << setfill('.') << setw(20) << 0.7 << " kg" << endl;
  2. cout << left << setfill('.') << setw(20) << "Honey" << right << setfill('.') << setw(20) << 2 << " Glasses" << endl;
  3. cout << left << setfill('.') << setw(20) << "Noodles" << right << setfill('.') << setw(20) << 800 << " g" << endl;
  4. cout << left << setfill('.') << setw(20) << "Beer" << right << setfill('.') << setw(20) << 20 << " Bottles" << endl;

輸出:

  1. Flour...............................0.70 kg
  2. Honey..................................2 Glasses
  3. Noodles..............................800 g
  4. Beer..................................20 Bottles

打印數值

當然,基于流的輸出也能讓你輸出各種變量類型。

布爾型

boolalpha 開關可以讓你把布爾型的二進制解釋轉換為字符串:

  1. cout << "Boolean output without using boolalpha: " << true << " / " << false << endl;
  2. cout << "Boolean output using boolalpha: " << boolalpha << true << " / " << false << endl;

以上幾行產生的輸出結果如下:

  1. Boolean output without using boolalpha: 1 / 0
  2. Boolean output using boolalpha: true / false

地址

如果一個整數的值應該被看作是一個地址,那么只需要把它投到 void* 就可以了,以便調用正確的重載。下面是一個例子:

  1. unsigned long someAddress = 0x0000ABCD;
  2. cout << "Treat as unsigned long: " << someAddress << endl;
  3. cout << "Treat as address: " << (void*)someAddress << endl;

該代碼產生了以下輸出:

  1. Treat as unsigned long: 43981
  2. Treat as address: 0000ABCD

該代碼打印出了具有正確長度的地址。一個 32 位的可執行文件產生了上述輸出。

整數

打印整數是很簡單的。為了演示,我使用 setf 和 setiosflags 來指定數字的基數。應用流修改器 hex/oct 也有同樣的效果。

  1. int myInt = 123;
  2.  
  3. cout << "Decimal: " << myInt << endl;
  4.  
  5. cout.setf(ios::hex, ios::basefield);
  6. cout << "Hexadecimal: " << myInt << endl;
  7.  
  8. cout << "Octal: " << resetiosflags(ios::basefield) << setiosflags(ios::oct) << myInt << endl;

注意: 默認情況下,沒有指示所使用的基數,但你可以使用 showbase 添加一個。

  1. Decimal: 123
  2. Hexadecimal: 7b
  3. Octal: 173

用零填充

  1. 0000003
  2. 0000035
  3. 0000357
  4. 0003579

你可以通過指定寬度和填充字符得到類似上述的輸出:

  1. cout << setfill('0') << setw(7) << 3 << endl;
  2. cout << setfill('0') << setw(7) << 35 << endl;
  3. cout << setfill('0') << setw(7) << 357 << endl;
  4. cout << setfill('0') << setw(7) << 3579 << endl;

浮點值

如果我想打印浮點數值,我可以選擇“固定”和“科學”格式。此外,我還可以指定精度:

  1. double myFloat = 1234.123456789012345;
  2. int defaultPrecision = cout.precision(); // == 2
  3.  
  4. cout << "Default precision: " << myFloat << endl;
  5. cout.precision(4);
  6. cout << "Modified precision: " << myFloat << endl;
  7. cout.setf(ios::scientific, ios::floatfield);
  8. cout << "Modified precision & scientific format: " << myFloat << endl;
  9. /* back to default */
  10. cout.precision(defaultPrecision);
  11. cout.setf(ios::fixed, ios::floatfield);
  12. cout << "Default precision & fixed format: " << myFloat << endl;

上面的代碼產生以下輸出:

  1. Default precision: 1234.12
  2. Modified precision: 1234.1235
  3. Modified precision & scientific format: 1.2341e+03
  4. Default precision & fixed format: 1234.12

時間和金錢

通過 put_money,你可以用正確的、與當地有關的格式來打印貨幣單位。這需要你的控制臺能夠輸出 UTF-8 字符集。請注意,變量 specialOffering 以美分為單位存儲貨幣價值。

  1. long double specialOffering = 9995;
  2.  
  3. cout.imbue(locale("en_US.UTF-8"));
  4. cout << showbase << put_money(specialOffering) << endl;
  5. cout.imbue(locale("de_DE.UTF-8"));
  6. cout << showbase << put_money(specialOffering) << endl;
  7. cout.imbue(locale("ru_RU.UTF-8"));
  8. cout << showbase << put_money(specialOffering) << endl;

ios 的 imbue 方法讓你指定一個地區。通過命令 locale -a,你可以得到你系統中所有可用的地區標識符的列表。

  1. $99.95
  2. 99,950
  3. 99,950

(不知道出于什么原因,在我的系統上,它打印的歐元和盧布有三個小數位,對我來說看起來很奇怪,但這也許是官方的格式。)

同樣的原則也適用于時間輸出。函數 put_time 可以讓你以相應的地區格式打印時間。此外,你可以指定時間對象的哪些部分被打印出來。

  1. time_t now = time(nullptr);
  2. tm localtm = *localtime(&now);
  3.  
  4.  
  5. cout.imbue(locale("en_US.UTF-8"));
  6. cout << "en_US : " << put_time(&localtm, "%c") << endl;
  7. cout.imbue(locale("de_DE.UTF-8"));
  8. cout << "de_DE : " << put_time(&localtm, "%c") << endl;
  9. cout.imbue(locale("ru_RU.UTF-8"));
  10. cout << "ru_RU : " << put_time(&localtm, "%c") << endl;

格式指定符 %c 會打印一個標準的日期和時間字符串:

  1. en_US : Tue 02 Nov 2021 07:36:36 AM CET
  2. de_DE : Di 02 Nov 2021 07:36:36 CET
  3. ru_RU : Вт 02 ноя 2021 07:36:36

創建自定義的流修改器

你也可以創建你自己的流。下面的代碼在應用于 ostream 對象時插入了一個預定義的字符串:

  1. ostream& myManipulator(ostream& os) {
  2. string myStr = ">>>Here I am<<<";
  3. os << myStr;
  4. return os;
  5. }

另一個例子: 如果你有重要的事情要說,就像互聯網上的大多數人一樣,你可以使用下面的代碼在你的信息后面根據重要程度插入感嘆號。重要程度被作為一個參數傳遞:

  1. struct T_Importance {
  2. int levelOfSignificance;
  3. };
  4.  
  5. T_Importance importance(int lvl){
  6. T_Importance x = {.levelOfSignificance = lvl };
  7. return x;
  8. }
  9.  
  10. ostream& operator<<(ostream& __os, T_Importance t){
  11.  
  12. for(int i = 0; i < t.levelOfSignificance; ++i){
  13. __os.put('!');
  14. }
  15. return __os;
  16. }

這兩個修飾符現在都可以簡單地傳遞給 cout

  1. cout << "My custom manipulator: " << myManipulator << endl;
  2.  
  3. cout << "I have something important to say" << importance(5) << endl;

產生以下輸出:

  1. My custom manipulator: >>>Here I am<<<
  2.  
  3. I have something important to say!!!!!

結語

下次你再糾結于控制臺輸出格式時,我希望你記得這篇文章及其 速查表

在 C++ 應用程序中,cout 是 printf 的新鄰居。雖然使用 printf 仍然有效,但我可能總是喜歡使用 cout。特別是與定義在 <ios> 中的修改函數相結合,會產生漂亮的、可讀的代碼。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2024-01-07 16:42:32

C++編程開發

2011-04-11 14:29:11

C++輸出格式

2011-07-11 13:52:45

Windows控制臺

2011-07-11 13:43:45

Windows控制臺

2011-07-19 15:15:59

故障恢復控制臺

2011-07-11 14:20:19

2010-02-01 16:46:07

C++格式化字符串

2011-07-06 15:25:33

Windows控制臺

2010-12-21 14:32:43

操作控制臺

2024-02-22 09:46:04

C++字符串格式化開發

2010-01-15 15:21:35

C++

2024-12-09 08:10:00

Python字符串格式化

2009-08-03 14:25:59

C#日期格式化

2009-08-03 16:24:05

C#格式化

2022-03-10 10:24:45

Vim代碼Linux

2011-08-08 10:55:14

IOS 控制臺 Consol

2009-06-15 09:50:34

JBoss控制臺

2009-09-04 12:22:41

C#日期格式化

2009-08-19 15:31:32

C#控制臺應用程序

2009-08-17 15:05:41

C#進度條
點贊
收藏

51CTO技術棧公眾號

亚洲精品一区二区三区蜜桃| 污污免费在线观看| 日本中文字幕在线看| 国产在线观看免费一区| 久久久久久中文字幕| 亚洲精品国产一区黑色丝袜 | 99久久综合| 精品美女被调教视频大全网站| 97成人在线观看视频| 高清全集视频免费在线| 久久一夜天堂av一区二区三区| 国产一区私人高清影院| 日韩av在线电影| 国产精品成人a在线观看| 亚洲第一网中文字幕| 国产三级国产精品国产专区50| 97久久人人超碰caoprom| 中文字幕欧美三区| 久久青青草原| 性生活视频软件| 蜜臀av性久久久久av蜜臀妖精| 久久频这里精品99香蕉| 四虎影院中文字幕| 狠狠色丁香婷婷综合影院| 精品国产麻豆免费人成网站| 天天干天天操天天做| 亚洲精品国产精品国产| 亚洲一区电影777| 影音先锋男人的网站| 国产综合在线观看| 91在线视频在线| 国产精品乱码视频| 国内老熟妇对白xxxxhd| 激情综合五月天| 国产精品免费久久久久影院| 4438国产精品一区二区| 一本不卡影院| 久久久人成影片一区二区三区| 中国毛片直接看| 色琪琪久久se色| 最新69国产成人精品视频免费| 特级西西人体wwwww| 国产乱人伦丫前精品视频| 日韩欧美你懂的| 日本一本在线视频| 国产欧美日韩电影| 欧美一级一区二区| www.色.com| 欧美影院在线| 欧美不卡一区二区三区四区| 国产高清av片| 久久天堂久久| 精品日韩欧美一区二区| 日韩高清一二三区| 99re8这里有精品热视频8在线| 日韩三级精品电影久久久| 四虎1515hh.com| 成人中文字幕视频| 亚洲国产成人久久| 偷拍女澡堂一区二区三区| 亚洲高清极品| 亚洲午夜av电影| av黄色免费在线观看| 手机在线一区二区三区| 久久久av亚洲男天堂| tube国产麻豆| 在线国产欧美| 啪一啪鲁一鲁2019在线视频| 91porny九色| 免费成人av在线播放| 成人黄色中文字幕| 国产18精品乱码免费看| 91亚洲精品久久久蜜桃网站| 欧美一级爽aaaaa大片| av在线免费一区| 亚洲美女屁股眼交3| 久久在线中文字幕| 在线亚洲人成| 欧美精品乱人伦久久久久久| 欧洲成人午夜精品无码区久久| 极品国产人妖chinesets亚洲人妖| 日韩精品免费在线视频| 亚洲天堂av中文字幕| 欧美jizzhd精品欧美巨大免费| 亚州精品天堂中文字幕| 伊人成年综合网| 国产综合色在线| 精品乱子伦一区二区三区| 伦理片一区二区三区| 亚洲视频在线一区观看| 熟女少妇在线视频播放| 亚洲综合资源| 日韩精品久久久久| wwwav国产| 欧美亚洲三级| 91天堂在线观看| 欧美美女色图| 亚洲激情av在线| 国产成人精品视频ⅴa片软件竹菊| 台湾天天综合人成在线| 亚洲精品www久久久| 久久一级免费视频| 亚洲伦伦在线| 亚洲伊人久久综合| 欧美大片aaa| 一区二区在线观看视频在线观看| 日日摸天天爽天天爽视频| 涩涩屋成人免费视频软件| 亚洲欧美中文日韩在线v日本| 国产美女福利视频| 三级精品在线观看| 国产美女精品久久久| 麻豆系列在线观看| 色婷婷精品久久二区二区蜜臂av | 国产麻豆91视频| xfplay精品久久| 欧美视频在线观看视频| 99久久这里有精品| 亚洲一区二区久久久| 日韩成人一区二区三区| 国产精品一区二区视频| 亚洲一二三区精品| 欧美日韩精品免费观看视完整| 精品少妇一区二区三区免费观看| 天天操天天摸天天舔| 老司机亚洲精品| 欧美xxxx黑人又粗又长精品| 51精品视频| 欧美电影精品一区二区| 在线观看美女av| 疯狂欧美牲乱大交777| 奇米影视首页 狠狠色丁香婷婷久久综合| 日本免费在线观看| 91高清在线观看| 国产国语性生话播放| 影音先锋久久精品| 99精品欧美一区二区三区| 欧美高清视频| 欧美美女黄视频| 欧美激情久久久久久久| 日韩精品乱码免费| 日韩精彩视频| 456成人影院在线观看| 亚洲人精品午夜在线观看| 91video| 91老师片黄在线观看| jizzjizz国产精品喷水| 网友自拍区视频精品| 欧美洲成人男女午夜视频| 天天干在线观看| 精品国产乱码久久久久久婷婷| www.男人天堂| 国产免费成人| 欧美日产一区二区三区在线观看| 美女一区网站| 国产亚洲欧洲在线| 亚洲系列在线观看| 亚洲精品免费在线播放| 欧美69精品久久久久久不卡| 欧美成人一品| 国产伦精品一区二区三区免费视频 | 成人做爰视频www网站小优视频| 亚洲欧美国产日韩天堂区| 欧美一级做a爰片免费视频| 国产精品成人免费在线| 51自拍视频在线观看| 国内精品久久久久久久影视麻豆| 国产精品制服诱惑| 电影网一区二区| 中文字幕一精品亚洲无线一区 | 久久三级中文| 久久久亚洲影院| 蜜桃视频在线免费| 欧美日韩中文一区| 青娱乐国产在线视频| 91亚洲精华国产精华精华液| 男人透女人免费视频| 一区二区小说| 成人伊人精品色xxxx视频| 国产网红女主播精品视频| 日韩电视剧在线观看免费网站| 91一区在线观看| 欧美牲交a欧美牲交aⅴ免费真| 色吊丝一区二区| 天天亚洲美女在线视频| 精品人妻一区二区三区日产乱码卜| 久久精品免费| 懂色av粉嫩av蜜臀av| 久9re热视频这里只有精品| 国产精品 欧美在线| 色婷婷在线播放| 亚洲毛片一区二区| 999av视频| 欧美色播在线播放| 婷婷在线精品视频| 久久网这里都是精品| 1314成人网| 视频精品一区二区| 久久男人资源站| 成人免费av| 久久人人97超碰人人澡爱香蕉| 中文字幕综合| 国产成人久久久精品一区| 毛片网站在线看| 色婷婷综合成人| 色播色播色播色播色播在线 | 精品国产黄色片| 在线免费观看成人短视频| 久久久精品国产sm调教| 国产精品毛片久久久久久| 少妇饥渴放荡91麻豆| 国产精品91一区二区| 美女少妇一区二区| 香蕉亚洲视频| www.av毛片| 亚洲精品a级片| 亚洲欧洲中文| 精品国产99| 久久久久久一区| 精品国产18久久久久久洗澡| 91久久在线视频| 男人天堂久久| 国产精品日韩av| 综合在线影院| 日本亚洲欧洲色| 精品国产免费人成网站| 992tv成人免费影院| 久久电影网站| 欧美日韩国产成人在线| 国产黄色小视频在线| 最近2019中文字幕第三页视频| 九色视频在线观看免费播放| 日韩精品欧美激情| 蜜桃视频在线观看www| 精品国产一区二区三区忘忧草| 99久久久久久久| 91精品国产综合久久精品性色 | 精品91久久| 国产mv免费观看入口亚洲| 桃花岛成人影院| 日本久久91av| 国产韩日精品| 国产伦精品免费视频| 精品视频一区二区三区四区五区| 热re91久久精品国99热蜜臀| 黑人巨大精品| 国产精品入口免费视| 久久婷婷五月综合色丁香| 国产精自产拍久久久久久| 欧美成人xxxx| 91亚洲精品久久久| 亚洲精品一区二区三区中文字幕 | 精品国产乱码| 色涩成人影视在线播放| 久久国产亚洲| 法国空姐在线观看免费| 欧美午夜久久| 激情五月宗合网| 丝袜美腿亚洲色图| 亚洲国产日韩欧美在线观看| 精品一区二区av| 伊人av在线播放| 99久久免费视频.com| 四虎影成人精品a片| 国产精品女同一区二区三区| 国产精品白丝喷水在线观看| 亚洲一区自拍偷拍| 久久黄色精品视频| 欧美主播一区二区三区| 国产精品久久久久久免费| 欧美大片免费久久精品三p| 亚洲aⅴ乱码精品成人区| 中文字幕日韩在线视频| 污的网站在线观看| 欧美一区二三区| 老司机精品视频网| 国产精品毛片一区视频| 国产乱码精品一区二区三区四区| 亚洲国产欧洲综合997久久| 91成人免费| 久久免费视频3| 久热成人在线视频| 娇妻高潮浓精白浆xxⅹ| 欧美激情在线一区二区三区| 欧美黄色免费观看| 日本高清无吗v一区| 国产黄色免费大片| 国产香蕉精品视频一区二区三区 | 亚洲精品国产精华液| 黑人一级大毛片| 911精品产国品一二三产区| 无码精品视频一区二区三区| 精品国偷自产在线视频99| 午夜影院在线播放| 亚洲一区二区久久久久久| 蜜乳av综合| 97超碰国产精品| 麻豆91在线播放| 日韩在线免费观看av| 一卡二卡欧美日韩| 最新黄色网址在线观看| 亚洲精品福利在线| 成人video亚洲精品| 国产成人精品国内自产拍免费看| 亚洲一区二区三区免费| 亚洲精品影院| 六月丁香综合| 日韩av手机在线播放| 亚洲欧洲精品成人久久奇米网| 中文字幕亚洲精品在线| 日韩一区二区三区四区| www.亚洲视频| 国产成人av在线| 六月丁香久久丫| 国产精品免费看久久久无码| 蜜臀久久久99精品久久久久久| 成人手机在线免费视频| 一区二区在线电影| 99精品免费观看| 久久九九亚洲综合| 欧美aaaaaa| 色99中文字幕| 日韩精品91亚洲二区在线观看 | 一起操在线视频| 国产亚洲欧美一级| 亚洲黄网在线观看| 日韩精品小视频| 136福利第一导航国产在线| 成人免费观看网站| 欧美日韩国产亚洲一区| 亚洲理论中文字幕| 国产精品国产a级| 伊人精品一区二区三区| 伊人青青综合网站| 日本精品另类| 亚洲国产日韩欧美| 久久99精品国产91久久来源| 欧美日韩生活片| 欧美色网一区二区| 色的视频在线免费看| 国产欧美日韩丝袜精品一区| 大色综合视频网站在线播放| 韩国日本美国免费毛片| 国产片一区二区三区| 天天干,天天干| 在线视频亚洲欧美| 永久免费观看精品视频| 中文字幕一区二区三区精彩视频 | 亚洲激情社区| 亚洲观看黄色网| 黑人与娇小精品av专区| 亚州精品国产精品乱码不99按摩| 91精品国产99| 久久av资源| av在线免费看片| 亚洲一区二区在线视频| 亚洲av成人精品毛片| 国产999精品久久久| 久久要要av| 一区二区在线免费观看视频| 亚洲国产cao| 麻豆av电影在线观看| 国产精品一区二区久久| 亚洲女同中文字幕| 91传媒理伦片在线观看| 色噜噜狠狠成人网p站| 1769视频在线播放免费观看| 91久久精品国产91久久性色| 国产精品theporn| 人人妻人人澡人人爽人人精品| 欧洲日韩一区二区三区| 国产激情视频在线观看| 国产午夜精品在线| 日本免费新一区视频| 永久久久久久久| 日韩精品在线免费观看视频| 日韩毛片免费看| ww国产内射精品后入国产| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品人妻一区二区三区| 久久久久久久国产精品视频| 国产亚洲一区| 99热这里只有精品2| 欧美性猛交xxxx富婆| 免费高清完整在线观看| 精品乱码一区二区三区| 久久9热精品视频| 成人精品在线看| 色多多国产成人永久免费网站| 超碰在线亚洲| www.99r| 午夜天堂影视香蕉久久| 日本欧美在线视频免费观看| 国产丝袜不卡| 精品一区二区成人精品| 欧美黑人一区二区| 欧美大片免费观看| 日本电影一区二区| 欧美做受喷浆在线观看| 欧美一级高清片|