usage里面字串可以多行格式化,示例如下:
fprintf(stderr, "sub-command:]\n\t%-12s\t%-37s\t%-s\n\t%-12s\t%-37s\t%-s\n\t%-12s\t%-37s\t%-s\n", "------------", "", "e.g:------------------------", "-----", "-------------------------------------", "e.g:---------------------", "----", "---------------------------", "e.g:-------------------------------");
結果:
sub-command:]
------------ e.g:------------------------
----- ------------------------------------- e.g:---------------------
---- --------------------------- e.g:-------------------------------
- 格式輸出函式printf()
- 呼叫形式一般為:printf("格式化控制字串",輸出表列);
- 格式化控制字串用于指定輸出格式,它有三種形式:
- 轉義字符:用來輸出轉義字符所代表的控制代碼或者特殊字符,比如常用的‘\n'、‘\t'
- 普通字符:需要原樣輸出的字符,
- 格式說明符:規定了相應輸出表列內容的輸出格式,以%打頭,如%d、%o等
- 輸出表列為若干需要輸出的資料項,它與格式說明符在數量和型別上一一對應;
- 格式字符m指定輸出資料所占寬度,n對實數表示輸出n位小數,對字串表示截取的字符個數,'+'表示右對齊,通常省略,
- '-'表示左對齊,l用于長整型資料,可加在d、o、x、u前
| 格式字符 | 資料物件 | 輸出形式 | 資料輸出方法 |
| %(+)-md | int unsigned int short unsigned short char | 十進制整數 | 1、無m按實際位數輸出 2、有m輸出m位;超過m位,按實際位數輸出,不足補空格 3、有+(默認為+)右對齊(左補空格) 4、有-左對齊(右補空格) |
| %(+)-mo | 八進制整數 | ||
| %(+)-mx | 十六進制整數 | ||
| %(+)-mu | 無符號整數 | ||
| %(+)-mld | long unsigned long | 十進制整數 | |
| %(+)-mlo | 八進制整數 | ||
| %(+)-mlx | 十六進制整數 | ||
| %(+)-mlu | 無符號整數 | ||
| %(+)-m.nf | float double | 十進制小數 | |
| %(+)-m.ne | 十進制指數 | ||
| %(+)-g | 自動選用%f和%e中較短的輸出寬度輸出單、雙精度浮點數 | ||
| %(+)-mc | char int short | 單個字符 | 1、無m輸出單個字符 2、有m輸出m位,補空格 3、有+(默認為+)右對齊(左補空格) 4、有-左對齊(右補空格) |
| %(+)-m.ns | 字串 | 一串字符 | 1.無m、n按實際字串輸出全部字符 2、有m、n僅輸出前n個字符,補空格 3.有+(默認為+)右對齊(左補空格) 4、有-左對齊(右補空格) |
- 格式輸入函式scanf()
- 呼叫格式一般為:scanf("格式化控制字串",地址表列);
- 格式化控制字串和printf()函式含義相似,所不同的是它是對輸入格式進行控制;
- 地址表列是有若干等待輸入的資料所對應的記憶體單元地址組成,由逗號隔開,一般形式為&a,a為變數;
- 地址表列在數量和型別上和格式化控制字串中的格式說明符一一對應;
- 格式字符h表示輸入短型資料,可用在d、o、x前面,m指定輸入資料所占寬度;
- '*'表示對應的資料項讀入后不賦給相應的變數
| 格式字符 | 資料物件 | 輸入形式 | 資料輸入方法 |
| %md | int short unsigned int unsigned short | 十進制整數 | 1、無m按實際位數輸入 2、有m輸入m位,不足m則跟回車鍵 |
| %mo | 八進制整數 | ||
| %mx | 十六進制整數 | ||
| %mld | long unsigned long | 十進制整數 | |
| %mlo | 八進制整數 | ||
| %mlx | 十六進制整數 | ||
| %mlf | float double | 十進制整數 | |
| %mle | |||
| %mc | char | 單個字符 | 1、無m取單個字符 2、有m輸入m位,僅取第一個字符 |
| %ms | 字串 | 一串字符 | 1、無m取回車或空格前若干字符 2、有m僅取前m字符 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/225591.html
標籤:嵌入式
上一篇:linux命令收集
下一篇:〖知識點〗C語言格式化輸入輸出
