sprintf() 函數的用法與printf() 很類似,只是第一個參數為輸出字串str 而已,為了說明這些格式的意義,我們寫了以下程式,以示範format 欄位的各種寫法。 ... <看更多>
printf用法 在 scanf,printf的那些变态用法 的推薦與評價
scanf,printf的那些变态用法. GitHub Gist: instantly share code, notes, ... 的意思是说直接取"/index.html", 跳过前面的"GET ". 这种用法, 避免定义一个 哑变量 . ... <看更多>
printf用法 在 [心得] printf的一些用法- 看板C_and_CPP - 批踢踢實業坊 的推薦與評價
下面一點點小技巧是我在寫完一堆畫星星作業之後湊出來的。
雖然有些技巧沒什麼用,還是跟大家分享一下。
printf( "%-5d", n ); // 向左對齊 預設是向右對齊
printf( "%+5d", n ); // 如果n是正數,就會加上+,如果是負數,就加上-
printf( "%05d", n ); // 開頭用0來補齊,大數運算的時候會用到
我覺得最有用的是* ,可以讓印出字串的欄位寬度可變
假設要印出 k 個 0,用printf的技巧可以用一個敘述就完成
printf( "%0*d", k, 0 );
同理 printf( "%*s", k, "" );
可以用一行指令就印出k個空白,排版的時候很方便,不用多寫一個迴圈。
有了 * 的主要好處是可以更動態的排版。
如果是要印出連續k個*,我都是用一個夠長且其中每個字元都是*的字串來輔助。
puts( "**********" + 10 - k );
而sprintf的好處就是可以把一個整數轉換成一個字串(C語言沒有itoa的函式)
sprintf( result, "%d", n );
還可以拿來計算一個數字的位數 (10進位, 8進位, 16進位都可以)
sprintf( temp, "%d%n", number, &digits );
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.162.51
... <看更多>