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

如何使用 printf 來格式化輸出

系統 其他OS
來了解一下 printf ,一個神秘的、靈活的和功能豐富的函數,可以替換 echo、print 和 cout。

當我開始學習 Unix 時,我很早就接觸到了 echo 命令。同樣,我最初的 Python 課程也涉及到了 print 函數。再想起學習 C++ 和 Java 時學到 cout 和 systemout。似乎每種語言都驕傲地宣稱擁有一種方便的單行輸出方法,并生怕這種方式要過時一樣宣傳它。

但是當我翻開中級教程的第一頁后,我遇到了 printf,一個晦澀難懂的、神秘莫測的,又出奇靈活的函數。本文一反向初學者隱藏 printf 這個令人費解的傳統,旨在介紹這個不起眼的 printf 函數,并解釋如何在幾乎所有語言中使用它。

[[340314]]

printf 簡史

術語 printf 代表“格式化打印print formatted”,它可能最早出現 Algol 68 編程語言中。自從它被納入到 C 語言后,printf 已經在 C++、Java、Bash、PHP 中一次次重新實現,并且很可能在你最喜歡的 “后 C” 語言中再次出現。

顯然,它很受歡迎,但很多人認為它的語法很復雜,尤其是與 echo 或 print 或 cout 等替代的函數相比尤為明顯。例如,這是在 Bash 中的一個簡單的 echo 語句:

  1. $ echo hello 
  2. hello 

這是在 Bash 中使用 printf 得到同樣結果:

  1. $ printf "%s\n" hello 
  2. hello 

但是所增加的復雜性反而讓你擁有很多功能,這是為什么 printf 值得學習的確切原因。

printf 輸出

在 printf 背后的基本思想是:它能夠基于與內容分離的樣式信息來格式化輸出。例如,這里是 printf 認可的視作特殊字符的特定序列集合。你喜歡的語言可能會有或多或少的序列,但是通常包含:

  • \n: 新行
  • \r: 回車換行
  • \t: 水平制表符
  • \NNN: 一個包含一個到三個數字,使用八進制值表示的特殊字節

例如:

  1. $ printf "\t\123\105\124\110\n" 
  2.      SETH 

在這個 Bash 示例中, printf 渲染一個制表符后,然后是分配給四個八進制值字符串的 ASCII 字符,并以一個生成一個新行(\n)的控制序列結束。

如果同樣使用 echo 來輸出會產生更多的字符:

  1. $ printf "\t\123\105\124\110\n" 
  2. \t\123\105\124\110\n 

使用 Python 的 print 函數來完成同樣的任務,你會發現 Python 的 print 命令比你想象的要強大:

  1. >>> print("\t\123\n") 
  2.         S 
  3. >>> 

顯然,Python 的 print 包含傳統的 printf 特性以及簡單的 echo 或 cout 的特性。

不過,這些示例包括的只是文字字符,盡管在某些情況下它們也很有用,但它們可能是 printf 最不重要的部分。printf 的真正的威力在于格式化說明。

使用 printf 格式化輸出

格式化說明符是以一個百分號(%)開頭的字符。

常見的格式化說明符包括:

  • %s: 字符串
  • %d: 數字
  • %f: 浮點數字
  • %o: 一個八進制的數字

這些格式化說明符是 printf 語句的占位符,你可以使用一個在其它地方提供的值來替換你的 printf 語句中的占位符。這些值在哪里提供取決于你使用的語言和它的語法,這里有一個簡單的 Java 例子:

  1. string var="hello\n"
  2. system.out.printf("%s", var); 

把這個代碼包裹在適當的樣板文件中,在執行后,將呈現:

  1. $ ./example 
  2. hello 

但是,當一個變量的內容更改時,有意思的地方就來了。假設你想基于不斷增加的數字來更新輸出:

  1. #include <stdio.h> 
  2. int main() { 
  3.   int var=0
  4.   while ( var < 100) { 
  5.     var++; 
  6.   printf("Processing is %d% finished.\n", var); 
  7.   } 
  8.   return 0; 

編譯并運行:

  1. Processing is 1% finished. 
  2. [...] 
  3. Processing is 100% finished. 

注意,在代碼中的兩個 % 將被解析為一個打印出來的 % 符號。

使用 printf 限制小數位數

數字也可以是很復雜,printf 提供很多格式化選項。你可以對浮點數使用 %f 限制打印出多少個小數位。通過把一個點(.)和一個限制的數放置在百分符號和 f 之間, 你可以告訴 printf 打印多少位小數。這是一個簡單的用 Bash 寫的簡練示例:

  1. $ printf "%.2f\n" 3.141519 
  2. 3.14 

類似的語法也適用于其它的語言。這里是一個 C 語言的示例:

  1. #include <math.h> 
  2. #include <stdio.h> 
  3. int main() { 
  4.   fprintf(stdout, "%.2f\n", 4 * atan(1.0)); 
  5.   return 0; 

對于三位小數,使用 .3f ,依次類推。

使用 printf 來在數字上添加逗號

因為位數大的數字很難解讀,所以通常使用一個逗號來斷開大的數字。你可以在百分號和 d 之間放置一個撇號('),讓 printf 根據需要添加逗號:

  1. $ printf "%'d\n" 1024 
  2. 1,024 
  3. $ printf "%'d\n" 1024601 
  4. 1,024,601 

使用 printf 來添加前綴零

printf 的另一個常用的用法是對文件名稱中的數字強制實行一種特定的格式。例如,如果你在一臺計算機上有 10 個按順序排列的文件,計算機可能會把 10.jpg 排在 1.jpg 之前,這可能不是你的本意。當你以編程的方式寫一個到文件時,你可以使用 printf 來用前綴為 0 的字符形成文件名稱。這是一個簡單的用 Bash 寫的簡練示例:

  1. $ printf "%03d.jpg\n" {1..10} 
  2. 001.jpg 
  3. 002.jpg 
  4. [...] 
  5. 010.jpg 

注意:每個數字最多使用 3 位數字。

使用 printf

正如這些 printf 示例所顯示,包括控制字符,尤其是 \n ,可能會冗長,并且語法相對復雜。這就是為什么開發像 echo 和 cout 之類的快捷方式的原因。不過,如果你時不時地使用 printf ,你就會習慣于這種語法,并且它也會變成你的習慣。我不認為 printf 有任何理由成為你在日常活動中打印時的首選,但是它是一個很好的工具,當你需要它時,它不會拖累你。

花一些時間學習你所選擇語言中的 printf,并且當你需要時就使用它。它是一個強有力的工具,你不會后悔隨時可用的工具。

 

責任編輯:趙寧寧 來源: Linux中國
相關推薦

2023-04-11 10:37:40

bash命令printf

2022-08-01 21:38:25

Linux fmt命令

2024-01-08 22:03:22

python代碼開發

2010-07-16 16:00:08

Perl格式化輸出

2010-07-16 15:44:57

Perl格式化輸出

2010-07-16 15:23:34

Perl格式化輸出

2010-07-16 14:37:26

Perl格式化輸出

2010-07-21 14:25:24

Perl格式化輸出

2010-07-15 11:16:25

Perl格式化輸出

2022-05-09 08:17:37

InstantJava字符

2010-07-15 11:29:25

Perl格式化輸出

2019-05-17 13:20:57

Black格式化工具Python

2024-03-28 10:17:03

JDK 17字符串十六進制

2010-03-16 11:20:38

Python格式化

2009-06-05 15:27:23

Eclipse工具格式化模板應用

2010-08-03 10:46:41

Flex代碼格式化

2019-08-08 14:47:07

Linux命令行JSON

2023-01-12 09:30:31

Linux命令行xml

2022-05-09 14:04:27

Python字符串格式化輸出

2022-12-30 08:30:28

Linux命令行json
點贊
收藏

51CTO技術棧公眾號

岛国精品在线| 午夜老司机在线观看| 欧美日韩免费观看一区=区三区| 欧美成人午夜电影| 欧美丰满熟妇bbbbbb百度| 成人在线观看免费| 国产精品538一区二区在线| 韩国日本不卡在线| 国产福利在线导航| 高潮久久久久久久久久久久久久 | 久久一二三四区| 国产成人调教视频在线观看 | 日韩一区av| 国产在线国偷精品产拍免费yy| 97精品久久久| 极品盗摄国产盗摄合集| 日本亚洲不卡| 日韩视频免费观看高清完整版 | 日日噜噜噜夜夜爽爽| 四虎精品成人免费网站| 国产精品影音先锋| 国产精品免费一区豆花| 青青操免费在线视频| 中文无码久久精品| 在线a欧美视频| 久久国产精品无码一级毛片| 麻豆视频久久| 欧美精品日韩精品| 91激情视频在线| 免费成人在线电影| 亚洲午夜电影网| 欧美一级免费在线观看| av天在线观看| 国产亚洲短视频| 久久久久se| 日本精品一二区| 国产成人在线观看| 91精品久久久久久久久不口人| 色老头在线视频| 国产亚洲一级| 97视频在线观看免费| 四虎永久免费在线| 91精品综合久久久久久久久久久| 在线电影av不卡网址| 一道本在线观看| 亚洲欧美校园春色| 亚洲女人天堂网| 日韩av在线看免费观看| 亚洲精品白浆高清| 精品小视频在线| 9.1成人看片免费版| 欧美美女在线直播| 亚洲国产日韩欧美在线图片| 无码国产69精品久久久久网站| 精品中文视频| 日韩一区二区麻豆国产| 一个人看的视频www| 亚洲国产中文在线二区三区免| 91精品午夜视频| 日韩精品国产一区| 国产精品18hdxxxⅹ在线| 亚洲高清久久网| 日本黄色免费观看| 中文精品一区二区| 国产一区二区三区18| 91禁男男在线观看| **女人18毛片一区二区| 欧美老少做受xxxx高潮| 国产精品成人aaaa在线| 国产亚洲激情| 国产精品视频自拍| 99精品免费观看| 丰满亚洲少妇av| 久久久综合亚洲91久久98| 日本在线丨区| 亚洲欧洲一区二区三区| 国产成人在线小视频| 天堂а√在线最新版中文在线| 精品久久久久久久久久久久久久| aa免费在线观看| 青青伊人久久| 亚洲成人网在线| 中文字幕一区二区三区人妻电影| 日韩伦理一区| 欧美激情亚洲一区| 中文字幕黄色片| 国产在线国偷精品产拍免费yy| 国产精品乱码| caoporn国产精品免费视频| 亚洲日本欧美天堂| 欧美 国产 小说 另类| 羞羞视频在线观看一区二区| 欧美tk—视频vk| 久久精品—区二区三区舞蹈| 亚洲一区二区三区| 欧美在线亚洲在线| 国产成人麻豆精品午夜在线| 久久免费美女视频| 日韩精品一区二区三区电影| 涩涩av在线| 欧美一区二区精品| 成人乱码一区二区三区av| 亚洲精品成人| 国产99视频精品免视看7| jizz中国女人| 欧美激情综合五月色丁香小说| 福利视频免费在线观看| 国产成人福利夜色影视| 精品成人在线观看| 国产成人av免费在线观看| 亚久久调教视频| 99精彩视频在线观看免费| 爱爱爱免费视频在线观看| 亚洲成人黄色影院| 日本一二三四区视频| 精品国产一区探花在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| www.欧美色| 99久久er热在这里只有精品15| 亚洲欧洲中文| 欧美极度另类| 亚洲精品www| 农村黄色一级片| 久久精品国产秦先生| 日本不卡一区二区三区在线观看| 超黄网站在线观看| 日韩午夜在线播放| 国产在线观看免费视频软件| 久久精品日韩欧美| 精品在线观看一区二区| av中文字幕在线看| 欧美www视频| 五月天婷婷色综合| 久久99久久精品欧美| 日本精品国语自产拍在线观看| 91破解版在线观看| 亚洲国产精品va在线看黑人动漫 | 欧美性生交xxxxxdddd| 亚洲性图第一页| 这里只有精品在线| 成人在线精品视频| 免费黄色在线网站| 欧美高清dvd| 情侣偷拍对白清晰饥渴难耐| 美女视频黄免费的久久 | 国产三级国产精品| 中文精品视频| 久久99精品久久久久久水蜜桃| 2019中文字幕在线电影免费 | 国产美女性感在线观看懂色av| 精品国产91久久久| 国产女主播喷水高潮网红在线| 男女精品视频| 欧美一级爽aaaaa大片| 黄色亚洲网站| 中文字幕日韩av综合精品| 在线观看免费黄色小视频| 中文字幕亚洲成人| 欧美精品色视频| 亚洲大胆在线| 久久99精品久久久久久久青青日本| 中国色在线日|韩| 亚洲人成免费电影| 91精品国自产| 亚洲精品国产高清久久伦理二区| 三上悠亚 电影| 99在线精品视频在线观看| 蜜桃999成人看片在线观看| 成人啊v在线| xxx一区二区| 国 产 黄 色 大 片| 欧美日韩国产精品一区二区三区四区 | 成人免费看黄yyy456| 97国产精东麻豆人妻电影 | 7777在线视频| 国产在线播放精品| 国产精品激情自拍| 成人a在线视频免费观看| 精品国产乱码久久久久久图片 | 亚洲精品美女91| 欧美黑人xxxxx| 91麻豆精品一二三区在线| 久久久久久久久久久成人| 日本大臀精品| 91精品婷婷国产综合久久| 日韩乱码在线观看| 国产欧美一区二区精品忘忧草| 欧美精品色视频| 亚洲影视综合| 国产欧美自拍视频| 小嫩嫩12欧美| 91久久精品国产91性色| 岛国在线视频网站| 久久精品精品电影网| 污视频网站在线播放| 欧美视频一区在线| 日本一二三区视频| 亚洲欧洲中文日韩久久av乱码| 伊人网综合视频| 韩日欧美一区二区三区| 干日本少妇首页| 欧美日韩一区二区高清| 欧美一区二区三区四区五区六区| 日韩在线网址| 国产精品亚发布| 成人国产电影在线观看| 另类天堂视频在线观看| 亚洲色图 校园春色| 欧美一级一区二区| 亚洲天堂五月天| 香蕉久久一区二区不卡无毒影院 | 国产综合自拍| 亚洲激情电影在线| 日韩母乳在线| 草莓视频一区| a一区二区三区亚洲| 国产精品91免费在线| 第一福利在线视频| 欧美成人午夜免费视在线看片| gogogo高清在线观看免费完整版| 日韩av在线网页| 精品国产av一区二区三区| 欧美日韩午夜在线| 国产成人精品777777| 五月婷婷久久丁香| 久久综合成人网| 一区二区欧美视频| 免费三级在线观看| 国产精品毛片高清在线完整版| 强伦人妻一区二区三区| av在线这里只有精品| 东京热av一区| 风间由美一区二区三区在线观看| 天天综合成人网| 蜜臀av亚洲一区中文字幕| 不卡影院一区二区| 午夜一级在线看亚洲| 精品少妇一区二区三区在线| 欧美激情综合色综合啪啪| 四虎精品欧美一区二区免费| 婷婷久久综合| 一区二区三区的久久的视频| 精品视频国产| 日韩欧美视频第二区| 国产伦精品一区二区三区视频| 久久精精品视频| 老司机成人在线| 久久精品99久久| 久久99国内| 天天好比中文综合网| 精品高清在线| 一本一本a久久| 欧美成人激情| 18视频在线观看娇喘| 亚洲精品国产首次亮相| 欧美一区二区三区综合| 欧美精品三级| 一二三四视频社区在线| 99精品热视频只有精品10| 日韩欧美国产免费| 男人的天堂亚洲在线| 欧美日韩大尺度| 美日韩一级片在线观看| 国产不卡的av| 成人丝袜视频网| 中国黄色a级片| 国产免费成人在线视频| 肉色超薄丝袜脚交69xx图片| 亚洲特级片在线| 久久97人妻无码一区二区三区| 亚洲大尺度视频在线观看| 欧美三级韩国三级日本三斤在线观看| 日韩欧美精品网址| 中文字幕码精品视频网站| 777a∨成人精品桃花网| 欧美熟女一区二区| 亚洲天堂免费观看| 黄色成人在线| 91tv亚洲精品香蕉国产一区7ujn| 国产v综合v| 91精品国产91久久久久青草| 欧美韩一区二区| 永久域名在线精品| 今天的高清视频免费播放成人| 日韩a在线播放| 久草中文综合在线| 黄色免费看视频| 国产精品久久久久久妇女6080| 国产乱国产乱老熟300| 狠狠久久亚洲欧美专区| 国产精品久久欧美久久一区| 精品国产精品网麻豆系列| 国产视频网站在线| 欧美猛男性生活免费| 影视一区二区三区| 99高清视频有精品视频| 欧美一区电影| 男女视频网站在线观看| 精品一区二区在线看| 久久福利小视频| 国产精品少妇自拍| 18精品爽视频在线观看| 日本韩国精品在线| 丰满人妻一区二区三区无码av| 在线观看成人黄色| 亚洲国产福利| av激情久久| 色综合咪咪久久网| 久久久噜噜噜www成人网| 国产·精品毛片| 亚洲女同二女同志奶水| 福利视频一区二区| 午夜精品久久久久久久第一页按摩 | 老熟女高潮一区二区三区| 中文字幕欧美激情| 狠狠人妻久久久久久| 欧美成人乱码一区二区三区| 在线观看免费黄视频| 日本伊人精品一区二区三区介绍| 欧美国产亚洲精品| 一道精品一区二区三区| 日韩中文欧美在线| 风间由美一二三区av片| 亚洲影院在线观看| 国产三级伦理片| xxx欧美精品| 国产精品久久久久77777丨| 久久精品人人做人人爽电影| 亚洲无线一线二线三线区别av| 欧美视频亚洲图片| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 一区二区三区四区精品在线视频| 在线免费观看视频网站| 中文日韩在线观看| 激情欧美一区二区三区黑长吊| 日韩av高清在线播放| 亚洲欧美日韩综合国产aⅴ| 国产人成视频在线观看| 亚洲福利电影网| 色综合视频在线| 午夜精品视频网站| 黄色欧美网站| 成熟丰满熟妇高潮xxxxx视频| 国产suv一区二区三区88区| 国产亚洲精品女人久久久久久| 日韩三级中文字幕| 直接在线观看的三级网址| 亚洲精品日韩av| 国产专区一区| 亚洲av人人澡人人爽人人夜夜| 亚洲高清一区二区三区| 午夜成人免费影院| 热久久美女精品天天吊色| 欧美热在线视频精品999| 男人天堂成人在线| 欧美国产精品中文字幕| 夜夜嗨av禁果av粉嫩avhd| 久久久精品一区二区三区| 国产不卡精品| 国产日韩欧美精品在线观看| av成人动漫在线观看| 日韩电影在线观看一区二区| 亚洲欧美综合区自拍另类| 国产v综合v| 国产免费xxx| zzijzzij亚洲日本少妇熟睡| 欧美三级午夜理伦| 伊人青青综合网站| 高清一区二区中文字幕| 青青在线视频免费观看| 久久伊99综合婷婷久久伊| 亚洲性猛交富婆| 久久成年人视频| 日韩高清一级| 日本久久久久久久久久久久| 亚洲欧洲性图库| 亚洲欧美日韩精品永久在线| 国产精品成人av性教育| 五月精品视频| 亚洲 欧美 日韩在线| 欧洲国产伦久久久久久久| 黄视频在线观看网站| 精品日韩美女| 蜜桃视频一区二区三区在线观看 | 在线免费观看黄色网址| 91福利入口| 久久久亚洲人| 久久国产在线观看| 亚洲一二在线观看| 日韩中文字幕在线一区| 久久婷婷国产精品| 一区二区在线观看免费| 免费国产在线视频| 亚洲伊人第一页| 美女视频一区免费观看| 欧美成人综合色| 一级做a爰片久久毛片美女图片| 精品网站999| 亚洲黄色a v| 婷婷成人激情在线网|